简介:Clangd 是什么
1.安装
clangd已经包含在llvm中,而llvm针对Linux有预编译的软件包,直接下载解压即可使用。
https://mirrors.tuna.tsinghua.edu.cn/github-release/llvm/llvm-project/LLVM%2012.0.1/clang%2Bllvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
可以直接在编译服务器上使用wget、curl等工具下载。
解压可使用tar命令:
tar -xf clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz
直接运行解压缩后的 bin/clangd 即可。
如果需要在任何路径下使用命令 clangd ,请参考如何将特定路径加入PATH环境变量。不在本篇的讨论范围内。
配置
VSCode 使用clangd
首先请先使用 Remote - SSH 插件连接到编译服务器上
然后在插件系统中搜索并安装 clangd
找到 clangd 的配置项,在「远程」标签页下找到 Clangd: Path 配置项,填写编译服务器上 clangd 的绝对路径。
Vim 使用clangd
T.B.D.
Spacemacs 使用clangd
在 dotspacemacs-configuration-layers 下使用如下 c-c++ layer 的设定,指定 clangd 为lsp后端。
.spacemacs下
(c-c++ :variables
c-c++-backend 'lsp-clangd
c-c++-enable-clang-support t
)
compdb(compile_commands.json)
clangd 能够正常工作依赖于 compile_commands.json 文件,该文件记录了工程中各个文件的编译指令。此文件需要放置在工程目录或者其父级目录中。
具体生成方式参见 :compile_commands.json的生成