ubuntu 环境
$ uname -a
Linux zqxl-virtual-machine 5.15.0-102-generic #112~20.04.1-Ubuntu SMP Thu Mar 14 14:28:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
vscode 版本
bear
sudo apt install bear
安装后当前版本
$ bear --version
bear 2.4.3
bear make 命令
生成的compile_commands.json 其实不复杂,其中仅仅只是记录了每一个文件编译时使用的参数。因此,如果有新增文件应该需要重新bear make。如果文件没有新增,则不需要重新生成这个json。
clangd
直接在vscode 插件管理中搜索安装即可。
安装后,vscode 会自动安装clangd 服务,可以看到安装到了如下位置:
/home/zqxl/.config/Code/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/18.1.3/clangd_18.1.3/bin/clangd
此处记录一下版本
$ /home/zqxl/.config/Code/User/globalStorage/llvm-vs-code-extensions.vscode-clangd/install/18.1.3/clangd_18.1.3/bin/clangd --version
clangd version 18.1.3 (https://github.com/llvm/llvm-project c13b7485b87909fcf739f62cfa382b55407433c0)
Features: linux+grpc
Platform: x86_64-unknown-linux-gnu
clangd 插件配置参数
等待clangd 索引完成即可实现跳转。
已知问题
.S 文件中的符号不支持跳转。
使用Arm Assembly 插件只有语法高亮。