一、问题描述
最近在使用vscode(版本1.67.1) 编辑C 语言代码,遇到一个问题是:结构体变量的成员不能自动补全。vscode 里面已经安装了c/c++ 插件;clang 也已经下载安装;工程 includePath
也配置正确。
二、问题解决
在网上查找了一轮,都没找到解决办法。后来在打开终端的时候,在问题输出那里,发现提示一大堆问题:
本身代码是正常可以运行,提示那么多问题,应该是vscode 对代码中的某些写法,判断出错。查看了最开始提示出错的行,终于明白为什么vscode 提示出错,该行代码是:
static int __init led_init(void)
把这行代码改成如下,就没有提示出错了。
static int led_init(void)
结构体变量也能补全了。
三、问题总结
应该是头文件包含中,没有把__init
的定义包含进去,导致vscode 判断出错。后面遇到不能提示的问题,可以参考类似原因。