1.为什么vscode不会自动跳转
在嵌入式代码中经常会看到这样的代码
typedef struct __attribute__((packed)) _xxx_t
{
}xxx_t;
而我们如果在vscode想去跳转xxx_t的定义却发现无法跳转过去,每次都需要使用搜索,十分烦人。
上次研究一番,得出原因在于:
vscode默认的平台模式(在windows下)是 msvc-x64
,而我们的__attribute__是属于gcc的语法,找到原因,现在我们可以来修改它。
2.修改vscode的IntelliSense模式
2.1 安装 c/c++插件
插件的安装方法网上都有,这里不再赘述
2.2 修改内容
按 ctrl+shift+p,进入配置界面,输入 c/c++,选择 c/c++:Edit Configurations(UI)
将编译器路径设置为 gcc编译器所在的路径,将IntelliSense模式设置为gcc模式
例如我将自己的修改成
2.3.重启vscode
重启vscode,就可以顺利跳转啦,enjoy it!