VS Code + MinGW64 + Clang 搭建 C++ 环境
安装 Clang
- 下载地址
- 在最新版本中选择 Windows (64-bit) 预编译版,即
Pre-Built Binaries
中的Windows (64-bit)
。
安装 MinGW
- 下载地址
- 在最新版中选择
x86_64-win32-seh
解压后,将所有文件移动到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
- 以管理员模式启动 Windows PowerShell,执行
Set-ExecutionPolicy Unrestricted
- 打开"此电脑-文档",新建文件夹 "WindowsPowerShell" 并进入。新建文本文档并命名为:
Microsoft.PowerShell_profile.ps1
用记事本编辑,粘贴以下代码并保存:$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
- 打开 PowerShell 执行:
chcp
- 结果显示
Active code page: 65001
即为成功
预览: