如何在Visual Studio Code中通过Tasks配置并运行CMake?
我来帮你搞定VS Code里用Ctrl+Shift+B一键触发CMake构建的配置,先给你一份完整可用的tasks.json,再逐个解释关键部分:
完整的tasks.json配置
把下面的内容替换你现有配置(补全你之前省略的(...)部分):
{ "version": "2.0.0", "tasks": [ { "label": "cmake", "type": "shell", "options": { "cwd": "${workspaceRoot}/build" }, "command": "cmake ${workspaceRoot} -G \"MinGW Makefiles\"", "problemMatcher": [] }, { "label": "make", "type": "shell", "command": "mingw32-make.exe", "options": { "cwd": "${workspaceRoot}/build" }, "problemMatcher": ["$gcc"], "dependsOn": ["cmake"] }, { "label": "build", "type": "shell", "options": { "cwd": "${workspaceRoot}/build" }, "command": "mingw32-make.exe", "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "dependsOn": ["cmake"] } ] }
配置细节说明
- cmake任务:负责生成适配MinGW的Makefile,
cwd指定到build目录是为了实现out-of-source构建(避免源码目录被临时构建文件污染),command里的-G "MinGW Makefiles"是告诉CMake生成对应MinGW的构建脚本。 - make任务:调用MinGW的
mingw32-make.exe执行编译流程,dependsOn: ["cmake"]确保每次执行make前都会先运行cmake——如果你的CMakeLists.txt有修改,会自动重新生成Makefile。 - build任务:这是我们设置的默认构建任务,
group.isDefault: true让按下Ctrl+Shift+B时直接触发它;同样依赖cmake,确保从生成构建文件到编译的完整流程自动执行。
使用方法
- 先在项目根目录手动新建
build文件夹(如果还没有的话)。 - 把上述配置保存到
.vscode/tasks.json文件中。 - 按下
Ctrl+Shift+B,VS Code就会自动执行cmake生成构建文件,再调用mingw32-make完成编译,直接得到可执行文件。
内容的提问来源于stack exchange,提问作者Immac




