vscode+clangd远程浏览服务器kernel代码(离线安装,最精简)
环境
windows10下运行vscode,远程连接ubuntu16或Ubuntu20.04,clangd服务运行在ubuntu。
linux:ubuntu 16.04 LTS (ubuntu20.04可用)
vscode:1.98.2 (vscode1.99以上版本,原生ubuntu16不支持,需要更新库)
clangd:13.0.0 (ubuntu16最高支持13.0.0)
cmake:3.16.9
python:3.8.20
kernel代码:5.10
1、远程linux安装clangd
下载地址:https://github.com/llvm/llvm-project/releases
选择ubuntu16.04对应的压缩包

#解压
xz -d clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz
tar xf clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04.tar
#添加环境变量
vim ~/.bashrc
#下面是我放clangd的路径,根据个人情况修改
export PATH=$PATH:/home/asin/work/tools/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-16.04/bin
#重新加载配置文件
source ~/.bashrc
#验证
asin@:~/work/tools$ clangd --version
clangd version 13.0.0
Features: linux
Platform: x86_64-unknown-linux-gnu
可以把压缩包内clangd取出来,只有这一个文件也可以实现代码浏览功能,实测ubuntu 16的clangd文件可在ubuntu 20上使用
admin@terminal:~/tools/clangd$ tail ~/.bashrc
export PATH=$PATH:/mnt/hdisk_2t/admin/tools/clangd
admin@terminal:~/tools/clangd$ ls -l
总用量 50272
-rwxrwxr-x 1 admin admin 51472400 10月 6 2021 clangd
2、远程linux安装cmake、python3
cmake参考
Linux编译安装cmake源码_回忆丿从前的博客-CSDN博客
https://blog.csdn.net/u013047941/article/details/92066791
python3安装,网上自己搜下
3、vscode安装clangd、SSH
在vscode 扩展中搜索clangd,下载安装
在vscode 扩展中搜索Remote - SSH,下载安装


4、生成compile_commands.json
kernel:
编译完成后,通过./scripts/clang-tools/gen_compile_commands.py生成
asin@:~/work/linux-5.10.196$ ./scripts/clang-tools/gen_compile_commands.py
asin@:~/work/linux-5.10.196$ ls compile_commands.json
compile_commands.json
asin@:~/work/linux-5.10.196$
其他工程,cmake中添加
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
5、使用
SSH使用参考 vscode 远程 linux(包括离线vscode-server安装,免密登录方法)
https://www.cnblogs.com/gosoline/p/18454814
clangd配置
–compile-commands-dir=${workspaceFolder}
–background-index
–completion-style=detailed
–header-insertion=never
-log=info
成功界面

6、调试手段
1、vscode中打开终端确定clangd环境变量

2、vscode通过Ctrl+Shift+P命令面板,重启clangd服务
Clangd: Restart Language Server
3、输出窗口中选择clangd,会显示clangd的相关信息,可根据这些信息调试










