Skip to content

VS Code + MinGW64 + Clang 搭建 C++ 环境

安装 Clang

  • 下载地址
  • 在最新版本中选择 Windows (64-bit) 预编译版,即 Pre-Built Binaries 中的 Windows (64-bit)
llvm
llvm

安装 MinGW

解压后,将所有文件移动到C:\Program Files\LLVM

覆盖即可,无冲突,无需添加环境变量

安装相关插件

  • C/C++
  • C/C++ Clang Command Adapter
  • Clang-Format
  • Code Runner

更改相关设置

打开VScode,File-Preferences-Settings,右上角以JSON方式打开设置文件(settings.json)

C/C++ Clang Command Adapter

json
"C_Cpp.clang_format_path": "${env:LLVM}/bin/clang-format", //设置 clang-format 路径,以便实现代码格式化功能
"C_Cpp.default.compilerPath": "${env:LLVM}/bin/clang --target=x86_64-w64-mingw32", //设置 Clang 作为编译器,用 target 参数指定 MinGW64 作为编译器后端。
"C_Cpp.errorSquiggles": "Disabled", //禁用插件1 错误提示
"clang.cflags": ["--target=x86_64-w64-mingw32", "-std=c11"], //为插件2 设置编译参数
"clang.cxxflags": ["--target=x86_64-w64-mingw32", "-std=c++17"], //为插件2 设置编译参数
"clang.completion.enable": false, //禁用插件 (2) 代码补全(较慢),而利用插件 (1) 实现。

Clang-Format

添加以下语句,用Clang-Format插件来格式化代码

json
"[c]": {
    "editor.defaultFormatter": "xaver.clang-format"
},
"[cpp]": {
    "editor.defaultFormatter": "xaver.clang-format"
},

Code Runner

将默认的gcc/g编译器替换为clang/clang编译器

打开Code Runner的设置,找到Code-runner: Executor Map点击Edit in settings.json

"code-runner.executorMap"中的

json
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",

注释掉,替换为

json
"c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe --target=x86_64-w64-mingw32 -lm && $dir$fileNameWithoutExt.exe",
"cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe --target=x86_64-w64-mingw32 -lm && $dir$fileNameWithoutExt.exe",

解决中文乱码

解决方法:将PowerShell编码改为UTF-8

  1. 以管理员模式启动 Windows PowerShell,执行Set-ExecutionPolicy Unrestricted
  2. 打开"此电脑-文档",新建文件夹 "WindowsPowerShell" 并进入。新建文本文档并命名为:Microsoft.PowerShell_profile.ps1 用记事本编辑,粘贴以下代码并保存:$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
  3. 打开 PowerShell 执行:chcp
  4. 结果显示Active code page: 65001即为成功

Last updated:

经典款
RackNerd

RackNerd

新手入门首选

洛杉矶 DC3 机房 | 3T 大流量

1C / 1GB / 20GB SSD / 3TB 流量

$21.99/年
欧洲优化
V.PS

V.PS

可选荷兰 / 德国

欧洲三网优化 | 电信 GIA + 联通 9929 + 移动 CMIN2

2C / 1GB / 20GB NVMe / 1TB 流量

€6.95/月
关注微信公众号
优化线路
Evoxt

Evoxt

最便宜的亚太优化线路

马来西亚 电信 GIA / 联通 9929
优惠码:AFF2377-DEV

1C / 512MB / 5GB SSD / 150GB 流量

$3.32/月
优化线路
搬瓦工

搬瓦工

15 个机房自由切换

洛杉矶 DC6 机房
电信 / 联通 GIA + 移动 CMIN2

2C / 2GB / 40GB SSD / 2.5TB 流量

$49.99/季