Loading

vscode + clangd

环境 : Ubuntu
ps: clangd需要compile_commands.json辅助定位代码文件
为统一格式,以下方式都将在build文件夹中生成compile_commands.json

使用一个月感受:跳转很快,但是对嵌入式不太友好,在分析代码的时候总会冒些奇奇怪怪的错误,比如大小端未定义,导致跳转不了
中途由于上述原因换回了cpptools,但是马上又回到了clangd阵营。因为cpptools相对clangd真的太慢了,熟悉了clangd的丝滑跳转之后简直无法忍受。部分代码跳转不了可以用搜索代替,问题不大

vscode

  1. 下载安装clangd或者在github官方仓库中下载最新版本,按照教程安装
    sudo apt install clangd-15
  2. vscode中安装插件clangd
  3. 在拓展设置中的Clangd: Arguments中添加
    --compile-commands-dir=${workspaceFolder}/build
  4. 设置更改或compile_commands.json更改后可以使用ctrl + shift + pclangd: 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
posted @ 2023-07-16 21:54  白水二木  阅读(2599)  评论(1)    收藏  举报