Ubuntu下配置基于 ROS 的 Vscode 开发环境(附代码格式化插件 clang-format 的配置)

5 篇文章 0 订阅

1 预准备

1.1 确保 ubuntu 已成功安装 ROS

安装 ROS 参考: ROS 官网安装教程
进入到 ~/catkin_ws 目录下因该如下图所示 (可能不存在 *_isolated 文件夹,可以暂时忽略)
在这里插入图片描述

1.2 安装 Catkin tools 工具

sudo apt install python3-catkin-tools python3-osrf-pycommon

2 配置Vscode

2.1 从ubuntu 应用商店安装Vscode

打开 ubuntu 应用商店搜索 Visual Studio Code,找到蓝色图标的 Code,点击安装(install)
在这里插入图片描述

2.2 安装插件

进入 ROS 工作空间目录打开 Vscode:
可以打开一个终端后输入下列命令

cd ~/catkin_ws
code .

配置 ROS 插件

打开 Vscode 安装带 Microsoft 图标的 ROS 插件
在这里插入图片描述

配置代码格式化插件

打开终端安装 ubuntu 下的 clang-format 软件

sudo apt-get install clang-format

打开 Vscode 安装代码格式化工具 clang-format 插件
在这里插入图片描述
安装好后点击左下角设置图标后点击设置(setting)
在这里插入图片描述
在搜索框输入 save 后搜索,找到 Format On Save 选项将其勾选上,使保存文件时可以自动格式化
在这里插入图片描述
进入 ROS 工作空间目录输入下列命令生成基于Google风格的 .clang-format 文件

cd ~/catkin_ws
clang-format -style=Google -dump-config > .clang-format

在这里插入图片描述
或者在工作空间手动添加 .clang-format 文件并输入以下内容

# 基础样式
BasedOnStyle: Google
# 指针的*的挨着哪边
PointerAlignment: Right
# 访问修饰符前的空格
AccessModifierOffset: -4
# 缩进宽度
IndentWidth: 4
# 连续的空行保留几行
MaxEmptyLinesToKeep: 1
# 圆括号的换行方式
BreakBeforeBraces: Attach
# 是否允许短方法单行
AllowShortFunctionsOnASingleLine: true
# 支持一行的if
AllowShortIfStatementsOnASingleLine: true
# 在未封闭(括号的开始和结束不在同一行)的括号中的代码是否对齐
AlignAfterOpenBracket: true
# switch的case缩进
IndentCaseLabels: true
# 针对OC的block的缩进宽度
ObjCBlockIndentWidth: 4
# 针对OC,属性名后加空格
ObjCSpaceAfterProperty: true
# 每行字符的长度
ColumnLimit: 120
# 注释对齐
AlignTrailingComments: true
# 括号后加空格
SpaceAfterCStyleCast: false
# 换行的时候对齐操作符
AlignOperands: true
# 中括号两边空格 []
SpacesInSquareBrackets: false
# 多行声明语句按照=对齐
AlignConsecutiveDeclarations: false
# 容器类的空格 例如 OC的字典
SpacesInContainerLiterals: false
# 在构造函数初始化时按逗号断行,并以冒号对齐
BreakConstructorInitializersBeforeComma: true
# 函数参数换行
AllowAllParametersOfDeclarationOnNextLine: true
#在续行(#     下一行)时的缩进长度
ContinuationIndentWidth: 4
# tab键盘的宽度
TabWidth: 4
# 赋值运算符前加空格
SpaceBeforeAssignmentOperators: true
# 行尾的注释前加1个空格
SpacesBeforeTrailingComments: 1

再次进入设置界面输入 clang 进行搜索,保证下图中的这三个输入框的内容如下图所示
在这里插入图片描述
找到要格式化的cpp文件,右键后点击 Format Document
在这里插入图片描述
可能出现以下情况,点击Configure
在这里插入图片描述
之后点击弹出的下拉菜单中的 C/C++(注意不是clang-format),这样Vscode 就能实现保存文件自动对代码进行格式化。
在这里插入图片描述

3 编译并运行自己的 ROS 程序节点

在VScode环境下打开终端

点击 View->Terminal
在这里插入图片描述
初始化 ROS 工作空间

catkin init

在这里插入图片描述

编译 ROS 工作空间

catkin build

若出现以下报错
在这里插入图片描述
输入

catkin clean

选择 y 清除之前编译的内容(注意build和devel文件夹都将消失)
在这里插入图片描述
再次初始化 ROS 工作空间并进行编译

catkin init
catkin build

编译完成后就可以在终端正常运行 ROS 节点了

附 :使用 catkin_make_isolate 编译时c_cpp_properties.json的配置

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/opt/ros/noetic/include/",
                "/usr/include/eigen3",
                "/usr/include/lua5.2",
                "/usr/include/pcl-1.10"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64",
            "compileCommands": "${workspaceFolder}/build_isolated/cartographer/install/compile_commands.json"
        }
    ],
    "version": 4
}
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

<lumen>

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值