前言
本文将介绍VscodeC/C++编译运行环境的在Windows下的搭建, 共介绍2种方案
推荐使用前两种, 即可完成编译运行调试功能
- 使用Vscode的
Tasks功能来编译运行, 并使用GDB调试 - 使用
CodeRunner
环境配置
安装Vscode
安装
MinGW-w64和Clang
LLVM Download Page 在此页面下载Clang:
选Pre-Built Binaries中的Clang for Windows (64-bit), 不需要下.sig文件
MinGW-w64 - for 32 and 64 bit Windows 在此页面下载MinGW-w64
LLVM下载好了以后安装, 添加环境变量时:选Add LLVM to the system PATH for all users
MinGW 安装时, Architecture选x86_64, 装好以后把东西全部复制到Clang的文件夹里去, 它们会无冲突合并。
PS:
为什么既要装Clang又要装MinGW, 是因为Clang没有头文件。
如果你安装了其他IDE需要注意把其他的MinGW从环境变量中去掉; 也可以自己把它们的编译器设为Clang
- 安装Vscode插件
通过Vscode的扩展搜索并下载以下两个插件
- C/C++ (第一个方案需要)
- Code Runner (第二个方案需要)
- 在
settings.json中添加如下的配置:
1 | "editor.formatOnType": true, |
方案一
使用 Vscode 优秀的 Tasks 功能启用编译运行命令
- 打开C或者C/C++的工作区, 使用快捷键
ctrl+shift+p, 键入c/cpp: edit configurations, 按Enter打开c_cpp_properties.json
将以下的内容覆盖到c_cpp_properties.json中
1 | { |
- 使用快捷键
ctrl+shift+p, 键入tasks: configure task, 按Enter打开task.json
将以下的内容覆盖到task.json中
1 | // https://code.visualstudio.com/docs/editor/tasks |
这个json里写了两个配置, 一个Build, 一个Run。
Build配置:"command"选编译器用的。写 C++ 就填clang++, 写 C 就填clang"args"编译参数。像是${fileDirname}和${fileBasenameNoExtension}之类的是VS Code的预定义变量, 详见 Variables Reference。"presentation"详见 Tasks - Output behavior 。"reveal"控制内置终端面板是否跳出到前端。"focus"焦点是否跳到面板。"echo"控制执行的命令是否输出。"problemMatcher"就 C 语言来说, 功能是将编译器输出的错误捕捉到VS Code的** Problem Panel** 上, 这个面板上的错误并不会及时更新, 每编译一次就更新一次。详见 Tasks - problem-matchers。
Run配置:"dependsOn"先运行哪个任务, 这里就是先运行Build任务(先编译后运行)。"group"设置组, 这里设置为默认的test组。详见 Tasks - custom-tasks。
键位绑定
到窗口左下角点齿轮再点 「键盘快捷方式」
设置成alt+f2, 后续就可以使用这个快捷键来运行c/c++代码了
配置GDB进行调试
因为安装了c/c++插件, 所以按f5即可进行调试
需配置launch.json
使用快捷键ctrl+shift+p, 键入debug: open launch.json, 按Enter打开launch.json
将以下的内容覆盖到launch.json中
1 | // https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md |
- 配置简要说明:
- 注意
"windows":下的"miDebuggerPath"。要将其中的路径改为本机的GDB路径, 放在了前文合并后的clang的bin目录下。 "preLaunchTask"运行调试前先运行某个任务,这个Build任务就是前面tasks.josn里的那个。
- 注意
方案二
使用code runner(不推荐)
缺陷:
- 不能进行调试
- 终端输入会溢出到程序外
使用:
安装完Code Runner插件后, 在settings.json添加如下的配置:
1 | "code-runner.runInTerminal": true, |
然后使用ctrl+alt+n即可运行代码

