问题描述:VS Code中出现“未定义标识符”,可以右键“转到声明”,但会一直出现红色提醒。
问题原因:VS Code intellisense不能自动找到需要的头文件路径,需要在用户设置中强制intellisense使用Tag Parser,递归方式检索头文件。
解决方式:找到工程对应的settings.json,并复制以下两个语句,在其中配置使用Tag Parser方式。
"C_Cpp.intelliSenseEngineFallback": "Disabled",
"C_Cpp.intelliSenseEngine": "Tag Parser",
插入到这一级就可以
问题解决。
https://www.codenong.com/cs105966613/
解决VS Code配置Arduino开发环境出现未定义标识
情况描述:
之前一直没问题,后来移动了一下文件夹,再进去发现使用vscode编辑C++文件,出现一连串的波浪线,但是能正常运气;
用vscode真是日了狗了,老是出毛病,强迫症看着红线不舒服;
就上面这种情况,然后网上搜,找到了如下结果
推测原因是一些需要include的包没有弄进去,具体的也不是很清楚,但这位博主的方法有效;
参考文章:
vscode import报波浪线错误_VS Code C++ 编译可以通过,但是有红色波浪线的问题
在配置文件中,includePath里面所有的路径后面加
按照csdn那个教程,不知道少了什么,左下角COM、esp32等图标点击没有反应,不会出现屏幕中央的配置。全部卸载,按照官网的vscode配置教程,下载好了esp-idf,esp32tools,完成配置之后,左下图标才能正常使用。此类问题都是编译器使用之前qt的配置造成的,点击左下角esp32位置,屏幕中上方会选择工程平台硬件等信息,确认之后,c_cpp_properties.json会自动调整。感觉更新比较快,官网的还是比较靠谱的,瞎折腾了(没有硬件,先乱操作了一通,没有问题制造问题。
需要注意 在 c_cpp_properties.json 文件中 需要正确的包含 头文件的路径.Default: 通过单独的 IntelliSense 流程提供上下文感知结果。选择 Default 保存后, 再试一下, 只提供对应结构体的成员变量.Tag Parser: 提供非上下文感知的“模糊”结果。选择 Tag Parser 提示了所有的结构体成员。
VScode不能转到定义,C_Cpp.intelliSenseEngine设置为Disable如何解决?
VScode突然有一天打开后代码变成白色,并且无法进行跳转。因此参考添加链接描述,对c_cpp_properties.json(安opencv的情况)进行重新设置时,发现同上Ctrl+Shift+P,输入Edit,选择C/C++:Edit Configurations(JSON)无法打开。通过右下角的提示,找到相关位置,打开setting文件后发现C_Cpp.intelliSenseEngine被设置为
编译通过,所以跟代码肯定没关系,那“未定义标识符”的红色波浪线就是VS误判的
解决:工具 > 选项 > 文本编辑器 >C/C++ > 高级 > 把Intellisense中的禁用全部改为true