vscode配置技巧
·
c_cpp_properties.json 与compile_commands.json关系
c_cpp_properties.json 是 VS Code 的静态 IntelliSense 配置,VS Code “猜代码怎么编译”的配置文件
compile_commands.json 是构建系统生成的真实编译数据库
如果项目里的 include 特别多,比如:
然后你在 c_cpp_properties.json 里手动写:
"includePath": [
"${workspaceFolder}/include",
"${workspaceFolder}/common",
"${workspaceFolder}/framework",
"${workspaceFolder}/third_party/boost",
...
]
很快就会变成几十上百行,而且:新增目录还要手动改;
CMake 项目的正确做法,让 CMake 告诉 clangd/VSCode:
target_include_directories(MyTarget PRIVATE
include
common
framework
sdk
)
target_include_directories(MyTarget PRIVATE
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/common
)
然后生成:compile_commands.json,,里面会自动记录:
-Ixxx/include
-Ixxx/common
-Ixxx/framework
...
clangd 直接读取这些信息,,clangd 直接读取这些信息。
CMake
↓
compile_commands.json
↓
clangd
解决vscode找不到好多头文件都是can not open source file
但是要在clangd下加一下dir

更多推荐
所有评论(0)