1.问题复现
一直吹爆vscode做Linux 开发的远程连接IDE,最近遇到了一个玄学问题前一天写的代码自定义了一个结构体,在同一个文件内调用还可以,到了第二天在调用结构体成员时居然就不认识了,后来我发现vs code的c/c++插件自动补全经常会识别不了,如下图所示,隔了一行注释,在注释上方就可以识别到结构体成员,到了下面就死活不行了。查了一天网上都没有明确的说法,故在此记录一下怕坑记录。
二、解决方案
只要改一个配置就可以,改下这位大佬,https://blog.youkuaiyun.com/y24283648/article/details/107981315
有时候IDE的自动补全功能会失效(包括函数名和变量名等),我猜测这种情况会在找不到头文件时出现。
为了解决这个问题,选择菜单栏File->Preferences->Settings,在弹出的窗口中选择User->Extensions->C/C++,然后再上方的搜索栏中输入“Intelli Sense Engine Fallback”,将其设置为ENABLE即可。
他的英文描述我不是太懂,感觉意思是当包含头文件出现错误时,IDE仍能正常智能解析和提示(自动补全)。