编辑
2025-03-03
工作知识
0
请注意,本文编写于 46 天前,最后修改于 46 天前,其中某些信息可能已经过时。

目录

一:安装工具
1.1 服务器端
1.2 客户端
1.3 ssh密钥配置
二:使用步骤
2.1 ssh连接
2.2 打开目录
2.3 为remote host添加扩展
2.4 生成compile_commands.json文件
2.5 查看clangd生效
2.6 快捷键

如果工作机器是windows,在windows上需要跨系统进行系统开发,往往按照之前的办法是通过设置samba来共享工作目录,本地通过source insight工具来进行软件开发。但是缺陷是

  • 1.si是收费软件
  • 2.samba需要配置好固定的工作目录,工程目录需要自行配置和加载。

也就是每次配置都比较麻烦。针对此问题,vscode + ssh remote + clangd 可以提供更好的交互效果。这里介绍一下vscode 的配置步骤

一:安装工具

1.1 服务器端

apt install bear apt install clangd

这里注意clangd需要是llvm11及以上的二进制

1.2 客户端

vscode下载

https://code.visualstudio.com/Download

vscode插件配置

必要插件

Clangd Remote SSH

可选插件

C/C++ C/C++ Extension Pack C/C++ Snippets DeviceTree Rainbow Highlighter Arm Assembly Hex Editor Markdown All in OneMarkdown Preview Enhanced

1.3 ssh密钥配置

在windows默认目录 C:\Users\XXX.ssh 内拿到公钥id_rsa.pub

将其传入服务器上,并运行如下

cat id_rsa.pub >> ~/.ssh/authorized_keys

验证ssh可以通过 cmd 上运行 ssh xxxxxxx 可自动免密进入即可

二:使用步骤

2.1 ssh连接

vscode如下点击

image.png

在SSH右端可点击添加host,输入连接命令即可创建远程连接,这里图片连接了 172.25.130.130 172.25.130.31

2.2 打开目录

vscode打开工程目录和普通方式一样,只不过这里打开的是远程的目录文件

2.3 为remote host添加扩展

点击设置--->扩展-→为remote安装

扩展选择clangd即可

image.png

2.4 生成compile_commands.json文件

如果是内核代码,可以通过如下命令

scripts/clang-tools/gen_compile_commands.py

如果是自己的工程,可以如下

bear make

如果是ninja工程,可以如下

ninja -t compdb > compile_commands.json

2.5 查看clangd生效

在工程界面,状态栏如果显示clangd插件已经加载即可。

image.png

接下来就能正常的支持跳转了

2.6 快捷键

输入文件名打开文件: Ctrl + P 跳到某行: Ctrl + G + 行号 打开文件并跳到某行: Ctrl + p 文件名:行号 列出文件里的函数 : Ctrl + Shift + O,可以输入函数名跳转 函数/变量跳转: 按住Ctrl同时使用鼠标左键点击、F12 前进: Ctrl + Shift + - 后退: Ctrl + Alt + - 列出引用 : Shift + F12 查找所有引用 : Alt + Shift + F12 切换侧边栏展示/隐藏: Ctrl + B 打开命令菜单: Ctrl + Shift + P 手动触发建议: Ctrl + Space 手动触发参数提示: Ctrl + Shift + Space 打开/隐藏终端: Ctrl + `(Tab上方的那个键) 重命名符号: F2 当前配置调试: F5 上/下滚编辑器: Ctrl + ↑/↓ 搜索/替换 : Ctrl + F/H 高亮文字:shift + alt + z 取消高亮:shift + alt + a