关于vscode的智能搜索intellisense的问题

颛孙星海
2023-12-01

在linux下使用vscode开发C/C++项目时,项目引用了Eigen库。最开始在x86和armhf平台下,都没有问题。但后来切换到aarch64平台(也就是64位arm),还是使用x86平台对aarch64项目进行交叉编译。但这时候Eigen::Vector3d竟然识别不了,使用"Go to Definition"也跳不过去,提示"no definition found for Vector3d"。虽然程序可以正常编译通过,但是对Eigen库却无法进行智能索引和提示,则多少有些恼火,差点就想着转去CLion了,不过CLion是要收费的,虽然有破解,但毕竟vscode其它都挺好,非到万不得已也还是不转为好。

难道vscode就不能解决这个问题吗,答案是可以的。这其实是vscode中C/C++插件的配置问题。操作如下:

  1. 先File-->Perferences-->Settings 打开settings配置页面。

  1. 然后在搜索框中输入"Intelli Sense",这时候会出现Intelli Sense Mode的配置项,有一个下拉框,是空的。

  1. 在下拉的列表中选择linux-gcc-arm64。然后关闭Settings页面。

大功告成,重新打开源代码文件,里面的Vector3d不再带有波浪线,能够被正常索引到了。

 类似资料: