Ubuntu vscode开发ROS2,实现自动补全和跳转

1. 重新安装vscode

因为前期在vscode上配置了clangd等插件,当参考网上的相关教程时,无法实现自动补全功能,在电脑上彻底卸载vscode后,重新配置后就能实现自动补全了。

sudo dpkg --purge code		# dpkg卸载VSCode
sudo apt-get purge code		# apt-get卸载VSCode
sudo apt-get autoremove		# 清除残留的配置文件和依赖
rm -rf ~/.config/Code		# 删除所有VSCode的相关数据和配置文件
rm -rf ~/.vscode			# 删除所有VSCode的相关数据和配置文件
rm -rf ~/.vscode-server		# 清除已下载的扩展文件

在vscode官网Download Visual Studio Code下载vscode,使用dpkg命令安装

sudo dpkg -i code_***.deb

我的系统配置如下:

详情
系统版本Ubuntu 22.04.4 LTS
ROS2版本humble
vscode版本1.85.2

2. 配置vscode

2.1 安装插件

安装插件
在vscode中安装以下插件

  • C/C++
  • C/C++ Extension Pack
  • C/C++ Themes
  • CMake
  • CMake Tools

2.2 下载测试代码

使用ros2例程代码的C++ package测试

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/ros2/examples.git
git checkout humble			# 切换到humble分支
rm -rf ./examples/rclpy		# 删除python package
cd ..

2.3 编译

编译时增加编译参数,生成compile_commands.json文件

cd ~/ros2_ws
colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON

编译完成后,这将会生成文件~/ros2_ws/build/compile_commands.json

2.4 配置 c_cpp_properties.json

在工作空间下新建文件.vscode/c_cpp_properties.json,在ROS2工作空间目录下打开vscode

cd ~/ros2_ws
mkdir .vscode
cd .vscode
touch c_cpp_properties.json
code .

文件目录如下:

├── .vscode
│   └── c_cpp_properties.json
├── build/
├── install/
├── log/
└── src
    └── examples/

在vscode中打开文件c_cpp_properties.json,按照以下配置

{
  "configurations": [
    {
      "browse": {
        "databaseFilename": "${default}",
        "limitSymbolsToIncludedHeaders": false
      },
      "includePath": [
        "/opt/ros/humble/include/**",
        "/usr/include/**",
        "/usr/local/include/**",
        "${workspaceFolder}/**"
      ],
      "compileCommands": "${workspaceFolder}/build/compile_commands.json",
      "name": "ROS",
      "intelliSenseMode": "gcc-x64",
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "gnu11",
      "cppStandard": "c++17"
    }
  ],
  "version": 4
}

2.5 (可选)配置代码风格化

确保在电脑中安装了 clang-format

sudo apt-get install clang-format

在vscode中安装插件 Clang-Format ,安装完成后,重启 vscode
创建.vscode/settings.json文件,输入以下内容

{
    "editor.defaultFormatter": "xaver.clang-format",
    "editor.formatOnSave": true,
    "clang-format.assumeFilename": ".clang-format的完整路径,如${workspaceFolder}/.clang-format",
}

3. 测试

配置完成后,重新打开vscode

3.1 自动补全

可以自动补全相关类的成员函数等

vscode开发ROS2--自动补全

3.2 自动跳转

鼠标停留在要跳转的头文件或者变量上,按下键盘Ctrl,鼠标单击能跳转到对应的定义位置

vscode开发ROS2--自动跳转

参考

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值