vscode + clangd
环境 : Ubuntu
ps: clangd需要compile_commands.json辅助定位代码文件
为统一格式,以下方式都将在build文件夹中生成compile_commands.json
使用一个月感受:跳转很快,但是对嵌入式不太友好,在分析代码的时候总会冒些奇奇怪怪的错误,比如大小端未定义,导致跳转不了
中途由于上述原因换回了cpptools,但是马上又回到了clangd阵营。因为cpptools相对clangd真的太慢了,熟悉了clangd的丝滑跳转之后简直无法忍受。部分代码跳转不了可以用搜索代替,问题不大
vscode
- 下载安装
clangd或者在github官方仓库中下载最新版本,按照教程安装
sudo apt install clangd-15 - 在
vscode中安装插件clangd - 在拓展设置中的
Clangd: Arguments中添加
--compile-commands-dir=${workspaceFolder}/build - 设置更改或
compile_commands.json更改后可以使用ctrl + shift + p中clangd: Restart language server重新加载配置
cmake
# mkdir -p build ; cd build ; cmake ..
# 将在build文件夹中生成compile_commands.json
# 在CMakeLists.txt中
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 或
# 在.bashrc中
export CMAKE_EXPORT_COMPILE_COMMANDS=1
compiledb
安装:pip install compiledb
# 在.bashrc中
# 以下命令不会构建产物
alias mkcc='mkdir -p ./build ; compiledb -o ./build/compile_commands.json -n --command-style make'
# 在项目文件夹中(存在Makefile)执行
$ mkcc
bear
安装:sudo apt install bear
# 在.bashrc中
# 以下命令会构建产物
alias mkbb='mkdir -p ./build ; bear --output ./build/compile_commands.json -- make'
# 在项目文件夹中(存在Makefile)执行
$ mkbb

浙公网安备 33010602011771号