如何将.vscode/c_cpp_properties.json与源代码分离存储?
解决方案
直接把C/C++配置写入工作区文件
不用单独的c_cpp_properties.json,直接在foo.code-workspace文件里添加settings字段,把原来放在c_cpp_properties.json里的配置(比如includePath、defines、cppStandard这些)挪进去。示例:{ "folders": [ { "path": "../../foo/bar", "name": "bar-source" } ], "settings": { "C_Cpp.default.includePath": [ "${workspaceFolder:bar-source}/**", "${workspaceFolder:bar-source}/include" ], "C_Cpp.default.defines": ["DEBUG"], "C_Cpp.default.cppStandard": "c++17" } }工作区加载时会自动应用这些配置,而且工作区文件在你的个人版本控制区域,跨设备同步这个文件就能复用配置,完全不用依赖源码目录的
.vscode文件夹。用工作区的
settings.json替代c_cpp_properties.json
在个人工作区的.vscode目录下创建settings.json,把C/C++的配置写在这里面,语法和上面工作区文件里的settings字段一致。VS Code会优先加载工作区的设置,覆盖全局或文件夹级别的配置,这样也能实现跨设备复用,且不会影响团队代码库。调整
c_cpp_properties.json的路径变量
如果坚持要用单独的c_cpp_properties.json文件,就在个人工作区的.vscode目录下创建它,然后用工作区文件夹变量指向源码路径。比如你在工作区里给源码文件夹命名为bar-source,可以这样写:{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder:bar-source}/**", "${workspaceFolder:bar-source}/include" ], "defines": ["DEBUG"], "compilerPath": "/usr/bin/g++", "cppStandard": "c++17", "intelliSenseMode": "linux-gcc-x64" } ], "version": 4 }这里的
${workspaceFolder:bar-source}会自动映射到工作区配置的../../foo/bar路径,不管在哪个设备上,只要工作区的文件夹引用路径正确,就能正常解析源码目录。
内容的提问来源于stack exchange,提问作者Deling Ren
相关产品推荐
相关产品推荐

