询问CMake是否支持生成Visual Studio Code项目的相关进展
关于CMake生成VS Code项目支持的方案
嘿,这个需求确实贴合Linux下的开发场景——CMake目前并没有像Eclipse CDT4 - Unix Makefiles那样专门的VS Code项目生成器,但有两种非常成熟的方式,能让你在VS Code里顺畅开发CMake管理的Linux项目:
方案一:使用VS Code官方CMake Tools扩展(推荐)
这是最省心的方式,微软官方的CMake Tools扩展已经把CMake和VS Code的集成做得非常完善:
- 先在VS Code的扩展商店里安装CMake Tools扩展
- 直接在项目根目录打开VS Code,扩展会自动识别你的
CMakeLists.txt文件 - 通过VS Code底部的状态栏,你可以快速选择编译器、构建类型(Debug/Release等),一键触发构建和调试
- 不需要手动生成任何额外的项目文件,扩展会自动帮你处理CMake的配置、构建流程,还支持断点调试、代码跳转、变量补全等核心开发功能
方案二:生成compile_commands.json配合C/C++扩展
如果你更习惯手动控制构建流程,可以通过CMake生成编译命令数据库,让VS Code的C/C++扩展识别你的项目:
- 执行CMake配置时开启编译命令导出:
mkdir build && cd build cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. - 在VS Code的
.vscode目录下创建或修改c_cpp_properties.json,添加编译命令路径:{ "configurations": [ { "name": "Linux", "compileCommands": "${workspaceFolder}/build/compile_commands.json", "includePath": ["${workspaceFolder}/**"], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 } - 还可以配置
.vscode/tasks.json来添加构建任务,比如:{ "version": "2.0.0", "tasks": [ { "label": "CMake Build", "type": "shell", "command": "cmake --build ${workspaceFolder}/build", "args": [], "group": { "kind": "build", "isDefault": true }, "problemMatcher": "$gcc" } ] }
这样VS Code就能获取到准确的编译参数,实现代码补全、语法检查,你也可以通过快捷键触发构建。
简单说,CMake官方没有做专门的VS Code生成器,是因为VS Code本身依赖扩展生态来适配不同项目类型,而上面两种方案已经能完美满足Linux下CMake项目的开发需求啦。
内容的提问来源于stack exchange,提问作者user3552099




