VSCode头文件代码提示报错
有时用vscode时候,老是头文件给我报奇奇怪怪红波浪线,导致智能跳转啥的也没了
环境
首先我们肯定要安装C/C++插件的,他给我们提供智能感知
之后我们也需要安装cmake tools,他能跟具cmakelists文件来给我们配置智能感知
设置感知头文件路径
我们通过配置c_cpp_properties.json
来设置感知头文件路径
- 打开
c_cpp_properties.json
,ctrl + shift + P
然后选择c/c++ edit configurations" and chose 'json'
- 通过
includePath
来设置感知头文件路径,也可以通过compileCommands
设置compile_commands.json
路径来设置。compile_commands.json
文件是cmake通过CMakelists生成
注意:设置compileCommands
后,就不能通过includePath
来设置智能感知了
includePath
设置智能感知
- 设置
configurationProvider : "ms-vscode.cpptools"
- 设置
includePath
来感知头文件路径
这样做需要为每个include感知的文件添加路径,当感知的头文件名相同时,会导致感知的不是你想要的头文件
设置compileCommands
设置智能感知
- 设置
configurationProvider : "ms-vscode.cmake-tools"
- 通过
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
来生成compile_commands.json
文件 compileCommands
设置compile_commands.json
路径来设置
这么设置我们每次新的cpp,.h时,都需要重新编写CMakelists.txt
来包含文件,然后重新生成compile_commands.json
(生成时候需要xxx.cpp文件包含其对应xxx.h文件让xxx.h也能写进compile_commands.json
,否则xxx.h不能智能感应)
然后我碰到过些奇奇怪怪的问题,就是每次执行makefile时后,都会当指当前打开面板xxx.hpp感知全失效,但重启VSCode或指关闭面板打开其他hpp后,然后再打开感知失效xxx.hpp后感知又回来了(插件BUG?)
此处评论已关闭