给vscode配置clangd插件
一般情况下,我们在vscode里编辑C/C++代码时用的都是微软的c++ package,但是这个插件包很多时候无法正确分析出语法,导致大量虚假错误报告,为了解决这个问题,我们首先禁用掉C++插件包,然后准备更换clangd。
clangd是一个基于Clangd的分析服务器,方便我们分析代码语法。为了使用它,首先需要下载clangd。在命令行里输入llvm-config --version,查看你的llvm版本,然后用sudo apt install clangd-xx下载对应版本的clangd,我的llvm是14.0.0,所以我下载的是clangd-14。然后按照官网的说明,输入这段命令:
sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-xx 100
xx需要自己更换为版本号,这样就把下载的clangd-xx设置为了默认的clangd。此时如果输入which clangd有反应,或者可以查clangd版本号。那就可以了。
然后,vscode上安装clangd插件。安装好以后,再下载bear工具,在你的工程文件夹里,和makefile同目录下执行bear -- make,生成一个编译命令的json文件:compile_command.json。如果生成空文件可能是因为没有新内容,不需要重新构建。可以make clean重新构建一遍,或者bear -- make -B强制。
最后,在工程文件夹下新建一个.vscode(正常情况下已经有了),在里面新建或者继续编辑settings.json,新增一条记录:
"C_Cpp.default.compileCommands": "/xxx/compile_command.json"
注意路径根据情况自己修改。此时nemu下的文件解析应该就全部正常了。如果一直查看输出,可以通过切换到clangd来查看输出状态。