错误展示
头文件引用正确,如果头文件报红,建议参考我这篇文章修改c_cpp_properties.json的incluePath:使用Vscode编写第一个ROS代码,实现输出helloworld(浅显易懂,无废话,一篇入门ROS)-CSDN博客
头文件中引用某些命令空间报错,找不到对应变量等。 并且使用头文件中包含的包时无代码提示。
解决方法
VScode打开文件后找到./vscode配置文件中的settings.json文件,在此文件中添加"C_Cpp.intelliSenseEngine": "Tag Parser"。
修改后不仅上面的错误没有了,并且可以进行代码提示。非常nice。
不建议在settings.json文件里添加如下变量完全禁止错误提示:
"C_Cpp.errorSquiggles": "Disabled",
此种方式只能浅显的解决报红问题,虽然表面上没有错误,但是也不会进行自动提示,代码补全,非常不方便。
原理说明
具体上述命令的原理可以参考下面简易版,想要深入学习的话建议自行百度
-
"C_Cpp.intelliSenseEngine": "Tag Parser"
:- 这个设置项用于指定 VSCode 使用哪种智能感知引擎。
"Tag Parser"
是一个较旧的智能感知引擎,它使用标签文件(tags)来提供基本的代码自动完成和导航功能。这种方法通常比基于语义的智能感知引擎慢,但不需要编译数据库(compile_commands.json)。
在 VSCode 中常见的智能感知引擎:
"Tag Parser"
:使用标签文件,适用于没有编译数据库或编译数据库不完整时的情况。"Default"
:VSCode 默认的智能感知引擎,通常是基于语义的,提供更准确的代码自动完成和导航功能。"Disabled"
:完全禁用智能感知功能。
通常,为了获得最佳的智能感知体验,建议使用默认的智能感知引擎,并确保项目中存在正确的编译数据库。编译数据库可以通过使用 CMake 或其他构建系统生成,VSCode 可以使用它来提供更准确的代码分析和智能感知。
参考链接
解决vscode下C/C++indelisense插件函数跳转卡顿不流畅的问题_vscode代码跳转不稳定-CSDN博客