第四章 ROS2 开发环境配置【VMware Ubuntu22.04 Humble】

摘要

完成 ROS2 系统安装之后,还需要搭建代码编写环境。本章主要讲解Git 版本管理工具 与VSCode 编辑器 的安装配置,手把手搭建 ROS2 的开发工作台,包含下载课程源码、VSCode 必备插件清单、工作空间.vscode配置文件、colcon 编译工具,同时整理 VMware 虚拟机下高频踩坑,新手可以直接复制命令完成整套配置。

一、开发工具介绍

做 ROS2 机器人开发,光有 ROS 运行环境还不够,还需要两个核心工具:

  1. Git:版本管理工具,用来下载开源源码、课程示例代码,管理自己项目代码变更,Github/Gitee 全部基于 Git 实现代码托管。
  2. VSCode:轻量跨平台代码编辑器,丰富插件可以支持 C++、Python、CMake、URDF、ROS 消息语法,是 ROS2 开发主流编辑器。

环境前置:已经完成 ROS2 Humble 安装,终端可以正常识别ros2命令。

二、Git 工具安装与课程源码下载

2.1 安装 Git

Git 是 Linux 原生的版本控制软件,终端直接 apt 安装:

复制代码
sudo apt update
sudo apt install git build-essential -y
  • build‑essential:C/C++ 编译基础工具集,后续编译功能包必须依赖。

安装完成验证:

复制代码
git --version

三、VSCode 安装(Ubuntu22.04 VMware)

3.1 安装 VSCode

两种安装方式,推荐 deb 包安装,避免 snap 版本在虚拟机中出现插件异常、权限问题。

方式 1:apt 源安装

复制代码
sudo apt update
sudo apt install code

方式 2:官网下载 deb 包 访问官网:Download Visual Studio Code - Free AI Code Editor for Mac, Linux, Windows 下载.deb包后终端执行:

复制代码
sudo dpkg -i code_xxx_amd64.deb
# 如果报依赖缺失,执行修复
sudo apt --fix-broken install

启动 VSCode

复制代码
# 终端输入直接打开
code .
# .代表打开当前所在文件夹

VMware 小技巧:虚拟机内 VSCode 复制粘贴异常,务必确认已经安装增强工具: sudo apt install open‑vm‑tools open‑vm‑tools‑desktop

四、ROS2 开发必备 VSCode 插件清单

打开 VSCode,快捷键 Ctrl+Shift+X 进入插件市场,搜索下面插件逐个安装。

插件名称 作用说明
Chinese (Simplified) Language Pack 中文语言包,界面汉化
Python Python 语法高亮、提示、调试(写 ROS2 Python 节点必备)
C/C++ C++ 语法解析、头文件跳转、代码补全
CMake CMakeLists.txt 语法高亮,编译辅助
ROS Microsoft 官方 ROS 插件,支持 ROS2 语法、快捷命令、创建功能包
Msg Language Support msg/srv/action 接口文件语法高亮
URDF URDF 机器人模型文件高亮
vscode‑icons 文件图标美化,区分不同后缀文件
Markdown All in One md 文档编写预览

✅全部安装完成后重启 VSCode,插件才会全部加载生效。

五、ROS2 工作空间与.vscode 配置(重点)

问题现象:打开 ROS2 代码,头文件全部飘红,找不到rclcpp/rclcpp.hpp,无法跳转定义。 解决:在工作空间根目录新建.vscode文件夹,写入配置文件,告诉 VSCode ROS2 头文件路径。

5.1 创建标准 ROS2 工作空间

复制代码
cd ~
mkdir -p ros2_ws/src
cd ros2_ws
# 后续所有功能包都放在src下面

5.2 新建.vscode/c_cpp_properties.json

在ros2_ws根目录创建.vscode文件夹,新建c_cpp_properties.json,复制下面完整内容(适配 humble):

复制代码
{
    "configurations": [
        {
            "browse": {
                "databaseFilename": "${default}",
                "limitSymbolsToIncludedHeaders": false
            },
            "includePath": [
                "/opt/ros/humble/include/**",
                "/usr/include/**",
                "/usr/local/include/**",
                "${workspaceFolder}/**",
                "${workspaceFolder}/install/include/**"
            ],
            "name": "ROS2",
            "intelliSenseMode": "gcc‑x64",
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}
  • /opt/ros/humble/include/**:ROS2 系统头文件路径
  • ${workspaceFolder}/install/include/**:自己编译出来功能包的头文件

5.3 settings.json(可选)

.vscode/settings.json,设置 ROS 发行版、Python 补全路径:

复制代码
{
    "ros.distro": "humble",
    "python.analysis.extraPaths": [
        "/opt/ros/humble/lib/python3.10/site‑packages",
        "${workspaceFolder}/install/lib/python3.10/site‑packages"
    ]
}

5.4 打开工作空间

复制代码
cd ~/ros2_ws
code .

以后开发,统一code .打开整个工作空间,不要单独打开单个.cpp文件。

六、colcon 编译工具安装

ROS2 使用 colcon 编译工作空间,新版本系统不会自带,手动安装:

复制代码
sudo apt install python3‑colcon‑common‑extensions python3‑rosdep -y

简单编译测试:

复制代码
cd ~/ros2_ws
colcon build --symlink-install
source install/setup.bash

--symlink‑install符号链接模式,修改 Python 脚本不用重复编译,开发强烈建议带上该参数。

七、VMware Ubuntu22.04 专属踩坑汇总

坑 1:VSCode 复制粘贴失效、中文乱码

复制代码
sudo apt install open‑vm‑tools open‑vm‑tools‑desktop

重启虚拟机。

坑 2:C++ 头文件全部红色波浪线,无法跳转定义

  1. 确认.vscode/c_cpp_properties.json路径正确;
  2. 确认使用code .打开整个工作空间,不是打开单个文件;
  3. 重启 VSCode,等待索引加载完成。

坑 3:Git clone 下载源码很慢

使用 Gitee 仓库(课程源码已经是 Gitee 地址),不要用 Github 地址。

坑 4:VSCode 终端无法识别 ros2 命令

VSCode 内部终端不会自动读取~/.bashrc,两种方案:

  1. 打开 VSCode 终端手动执行 source ~/.bashrc;
  2. 设置 VSCode 终端 shell 为 bash。

坑 5:colcon build 编译报错缺少依赖

复制代码
rosdep update
rosdep install --from‑paths src --ignore‑src -y

八、本章小结

  1. Git 负责版本管理,用来下载课程源码、管理项目代码;
  2. VSCode 搭配一套 ROS2 专用插件,是 ROS2 主要代码编辑器;
  3. ROS2 代码必须放在工作空间src目录,使用colcon build编译;
  4. .vscode/c_cpp_properties.json解决头文件飘红、跳转失败问题,是新手最容易忽略的配置;
  5. VMware 虚拟机注意增强工具安装,解决复制粘贴、图形兼容性问题。
相关推荐
汤姆宝库1 小时前
安全深拆:越狱物理、注入攻击与纵深防御
人工智能·安全·机器学习·ai
成都旺小宝科技4 小时前
AI工牌案例:华润静安府话术执行率提到62%
人工智能·机器学习·房地产
labuladong5 小时前
机器学习&神经网络 系列教程上线
神经网络·算法·机器学习
howard20056 小时前
机器学习课程架构思维导图
机器学习·课程架构
知识分享小能手8 小时前
机器学习教程,从入门到精通,机器学习概述 + Python 语言基础 · 知识点详解(1)
人工智能·python·机器学习
博谷8 小时前
什么是GEO监测?核心指标、工作原理与AI搜索诊断监测全解析
人工智能·机器学习·自然语言处理
iiiiii119 小时前
大模型批量生成中的左填充 (left padding)与右填充 (right padding):从生成正确性到 GRPO 的混合策略
人工智能·机器学习·语言模型·大模型·llm·attention·注意力
方方洛10 小时前
ray教程-15-RayServe与LLM服务
人工智能·分布式·机器学习
AllData公司负责人11 小时前
数据 + AI 一体化 I 机器学习中心(CubeStudio)实现目标识别可视化训练与弹性部署,让视觉模型快速投产
大数据·人工智能·机器学习·大模型·数据采集·ai一体化