当前位置: 首页 > news >正文

1.4 ROS2集成开发环境搭建

1.4.1 安装VSCode

VSCode全称Visual Studio Code,是微软推出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持Win、Mac以及Linux。

1.下载

vscode下载:https://code.visualstudio.com/Download。

历史版本下载链接:https://code.visualstudio.com/updates。

2.vscode 安装与卸载
2.1 安装

方式1:双击安装即可(或右击选择安装);

方式2:sudo dpkg -i xxxx.deb

2.2 卸载
sudo dpkg --purge  code
3.VSCode启动

VSCode启动也比较简单,可以直接在Show Applications(显示应用程序) 中搜索VSCode直接启动(也可以将其添加到收藏夹)。

或者,也可以在终端下进入需要被打开的目录(比如:前面创建的ROS2工作空间ws00_helloworld),然后输入命令:code .

4.VSCode插件

VSCode支持插件扩展,依赖于VSCode丰富多样的插件,可以大大提高程序开发效率,为了方便ROS2程序开发,我们也需要安装一些插件。

首先点击侧边栏的Extensions(插件)选项或者使用快捷键Ctrl+Shift+X打开插件窗口,本课程建议安装的插件如下:

当然,上述只是部分推荐插件,大家可以根据自身需求安装其他扩展。

5.VSCode配置

在VSCode中,cpp文件中的#include "rclcpp/rclcpp.hpp"包含语句会抛出异常,这是因为没有设置VSCode配置文件中 includepath属性,可以按照如下步骤解决此问题:

  1. 将鼠标移到错误提示语句,此时会出现弹窗;
  2. 点击弹窗中的快速修复,会有新的弹窗,再点击编辑"includePath"设置
  3. 在新页面中,包含路径属性对应的文本域中,换行输入被包含的路径/opt/ros/humble/include/**

至此,问题修复。

VSCode安装并配置完毕后,大家就可以在其中编写ROS2程序了。当然为了提高编码效率,我们会经常性的使用到一些快捷键,VSCode的快捷键可以在菜单栏的“帮助”中查看。

1.4.2 安装终端

在ROS2中,需要频繁的使用到终端,且可能需要同时开启多个窗口,推荐一款较为好用的终端:Terminator。效果如下:

1.安装
sudo apt install terminator
2.启动

可以直接在Show Applications(显示应用程序) 中搜索terminator直接启动(也可以将其添加到收藏夹);或者,也可以直接使用快捷键Ctrl+Alt+T启动。

3.Terminator 常用快捷键

第一部份:关于在同一个标签内的操作

Alt+Up                          //移动到上面的终端
Alt+Down                        //移动到下面的终端
Alt+Left                        //移动到左边的终端
Alt+Right                       //移动到右边的终端
Ctrl+Shift+O                    //水平分割终端
Ctrl+Shift+E                    //垂直分割终端
Ctrl+Shift+Right                //在垂直分割的终端中将分割条向右移动
Ctrl+Shift+Left                 //在垂直分割的终端中将分割条向左移动
Ctrl+Shift+Up                   //在水平分割的终端中将分割条向上移动
Ctrl+Shift+Down                 //在水平分割的终端中将分割条向下移动
Ctrl+Shift+S                    //隐藏/显示滚动条
Ctrl+Shift+F                    //搜索
Ctrl+Shift+C                    //复制选中的内容到剪贴板
Ctrl+Shift+V                    //粘贴剪贴板的内容到此处
Ctrl+Shift+W                    //关闭当前终端
Ctrl+Shift+Q                    //退出当前窗口,当前窗口的所有终端都将被关闭
Ctrl+Shift+X                    //最大化显示当前终端
Ctrl+Shift+Z                    //最大化显示当前终端并使字体放大
Ctrl+Shift+N or Ctrl+Tab        //移动到下一个终端
Ctrl+Shift+P or Ctrl+Shift+Tab  //Crtl+Shift+Tab 移动到之前的一个终端

第二部份:有关各个标签之间的操作

F11                             //全屏开关
Ctrl+Shift+T                    //打开一个新的标签
Ctrl+PageDown                   //移动到下一个标签
Ctrl+PageUp                     //移动到上一个标签
Ctrl+Shift+PageDown             //将当前标签与其后一个标签交换位置
Ctrl+Shift+PageUp               //将当前标签与其前一个标签交换位置
Ctrl+Plus (+)                   //增大字体
Ctrl+Minus (-)                  //减小字体
Ctrl+Zero (0)                   //恢复字体到原始大小
Ctrl+Shift+R                    //重置终端状态
Ctrl+Shift+G                    //重置终端状态并clear屏幕
Super+g                         //绑定所有的终端,以便向一个输入能够输入到所有的终端
Super+Shift+G                   //解除绑定
Super+t                         //绑定当前标签的所有终端,向一个终端输入的内容会自动输入到其他终端
Super+Shift+T                   //解除绑定
Ctrl+Shift+I                    //打开一个窗口,新窗口与原来的窗口使用同一个进程
Super+i                         //打开一个新窗口,新窗口与原来的窗口使用不同的进程

 

1.4.3 安装git

Git 是一个免费和开源的分布式版本控制系统,旨在高速高效的处理从小型到大型项目的所有内容。在Ubuntu下可以调用如下命令安装git:

sudo apt install git

在本教程中会经常使用git clone 仓库地址的方式来将Git仓库拷贝到本地。

关于git工具使用可以在终端下输入:git --help查看帮助文档。关于git的其他详细信息请参考:https://git-scm.com/

相关文章:

  • 容器部署rabbitmq集群迁移
  • 李白的酒量之谜
  • 【Spring Boot】JPA 的查询方式
  • 【Linux】多线程(一万六千字)
  • 关于 AD21导入电子元器件放置“3D体”STEP模型失去3D纹理贴图 的解决方法
  • Elasticsearch集群部署(上)
  • 名企专访|对抗价格内卷,格行随身WiFi如何持续三年爆火引领潮流
  • springboot 自定义的全局捕获异常失效
  • 并发编程面试题2
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • go sync包(五) WaitGroup
  • Android Studio上传新项目到Gitee
  • imx6ull/linux应用编程学习(8)PWM应用编程(基于正点)
  • Halcon支持向量机
  • PyTorch之nn.Module与nn.functional用法区别
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • input的行数自动增减
  • Java,console输出实时的转向GUI textbox
  • laravel with 查询列表限制条数
  • Lucene解析 - 基本概念
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Redux 中间件分析
  • Tornado学习笔记(1)
  • Vultr 教程目录
  • 对JS继承的一点思考
  • 赢得Docker挑战最佳实践
  • Mac 上flink的安装与启动
  • !!java web学习笔记(一到五)
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • (C语言)逆序输出字符串
  • (ibm)Java 语言的 XPath API
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (五)MySQL的备份及恢复
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)德国人的记事本
  • (轉)JSON.stringify 语法实例讲解
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET Core跨平台微服务学习资源
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .netcore如何运行环境安装到Linux服务器
  • .Net多线程Threading相关详解
  • .ui文件相关
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @JSONField或@JsonProperty注解使用
  • [ 手记 ] 关于tomcat开机启动设置问题