1. 准备工作
- 虚拟机 ubuntu 环境,笔者用的是 ubuntu20.04。
- windows 安装好 vscode 软件。
2. 配置过程
2.1 vscode远程连接 ubuntu
- ubuntu 虚拟机开启 ssh 服务
sudo apt install openssh-server
sudo service ssh start
- vscode 安装 remote-ssh 插件
- vscode 远程连接 ubuntu
输入 ssh 你的ubuntu用户名@你的ubuntu IP地址
,回车确认。在弹出的选项中默认选择第一项。
第一项选择后,会在右下角弹窗,直接点击 connect。
弹出输入密码,输入密码后会再次弹出输入密码确认。
点击 Open Folder,打开你在 Ubuntu 上的 Linux 内核源码路径,或者是你的工程源码路径。就可以进行代码的编辑查看操作,接下来配置 clangd。
2.2 clangd 的配置
2.2.1 安装 clangd
- ubuntu 上安装 clangd
sudo apt install clangd
安装完成后确认是否成功:
clangd --version
- vscode 上安装 clangd 插件
2.2.2 vscode 配置 clangd 插件
- 添加配置参数,一个 item 一个 item 的添加。
–compile-commands-dir=${workspaceFolder}
–background-index
–completion-style=detailed
–header-insertion=never
-log=info
- 加入 clangd 的绝对路径。
这里可在 ubuntu 上确认 clangd 的安装路径。
whereis clangd
3. 使用
3.1 CMake 组织的项目
需要定义 CMAKE_EXPORT_COMPILE_COMMANDS
。
示例:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
3.2 Makefile 组织的项目
需要先安装 bear。在编译项目时,make 前面添加 bear。
sudo apt-get install bear
示例:
bear make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- vexpress_defconfig -j$(nproc)
bear make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig -j$(nproc)
bear make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j$(nproc)
bear make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage LOADADDR=0x60003000 -j$(nproc)
4. 小结
大型项目,跳转很快,阅读代码效率飞起。