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

ROS学习笔记(三):VSCode集成开发环境快速安装,以及常用扩展插件配置

文章目录

  • 前言
  • VSCode集成开发环境
  • 1 安装VSCode
  • 2 VSCode扩展插件
      • 2.1 VSCode扩展插件模块介绍
      • 2.1 常用扩展插件配置
        • 一、语言支持类插件
        • 二、智能辅助类插件
        • 三、科学计算与数据分析类插件
        • 四、ROS开发相关插件
  • 3 总结
    • 相关链接


前言

关于Ubuntu与ROS的常规安装,可以看这几篇。

  • SLAM实操入门(一):在已有WIN10的电脑上安装Ubuntu20.04
  • SLAM实操入门(二):安装ROS Noetic并运行“小乌龟”程序
  • ROS学习笔记(一):ROS1入门简明介绍(附详细注释)
  • ROS学习笔记(二):鱼香ROS — 超便捷的一键安装/配置/换源指令

本系列主要用来记录学习ROS的相关内容,本文为ROS操作系统简明概要。


VSCode集成开发环境

VSCode(Visual Studio Code)是一款由微软开发的轻量级、开源的代码编辑器,自推出以来便以其高性能、跨平台性和丰富的插件生态,成为全球开发者最受欢迎的编辑工具之一。

其多语言支持、强大的扩展能力以及内置调试功能,使其广泛应用于各类开发场景,尤其是嵌入式开发、机器人与自动驾驶开发等领域中有着丰富应用。

1 安装VSCode

使用鱼香ROS一键安装命令安装VSCode

wget http://fishros.com/install -O fishros && . fishros

鱼香ROS一键安装的开源地址为:

  • 小鱼的一键安装系列(社区地址)

安装方法可以参考:

  • ROS学习笔记(二):鱼香ROS — 超便捷的一键安装/配置/换源指令
    在这里插入图片描述
    根据提示安装完成后,VSCode就安装完成了

可以在菜单界面打开

在这里插入图片描述

2 VSCode扩展插件

2.1 VSCode扩展插件模块介绍

VSCode扩展插件系统是VSCode的一个核心特色,允许开发者通过插件扩展其功能,满足不同语言、框架、工具链的开发需求。这种灵活且强大的扩展能力,使VSCode不仅能作为轻量级的代码编辑器,还能够通过插件变为一个高度定制化的集成开发环境(IDE)。
在这里插入图片描述
VSCode中扩展插件(Extensions)是独立的、可安装的软件包,能够为VSCode添加新的功能和特性。插件可以由微软官方发布,也可以由社区开发者创建和维护。通过插件市场,用户可以方便地搜索、下载、安装、更新插件,并根据项目需求动态配置自己的开发环境。

在这里插入图片描述
通过VSCode的插件市场(Extensions Marketplace),用户可以直接搜索所需插件并进行安装。

点击VSCode侧边栏的扩展图标,输入关键字后即可查找插件点击安装后即可使用。

2.1 常用扩展插件配置

对于机器人、ROS、自动驾驶开发,合理配置扩展插件能够显著提升开发效率。本文将介绍几款常用的VSCode插件,并分类说明它们的作用及意义。

一、语言支持类插件
  1. Chinese (Simplified) Language
    作用:将VSCode的界面语言设置为简体中文,帮助中文用户更好地使用该编辑器。
    安装理由:对于习惯中文的开发者,这个插件能够提高使用体验,减少语言障碍,更专注于代码开发。

  2. C/C++
    作用:提供对C/C++语言的语法高亮、智能感知、代码片段、调试功能。
    安装理由:机器人、ROS和自动驾驶系统开发常常涉及底层C/C++代码,尤其是驱动程序、算法开发和系统控制部分。此插件为开发者提供了强大的调试和代码提示支持。

  3. CMake Tools
    作用:集成了CMake编译工具链,简化CMake项目的构建、编译、调试流程。
    安装理由:ROS及其相关工具链经常使用CMake进行构建。此插件能够方便管理CMakeLists.txt文件,帮助开发者在复杂的项目中快速进行编译和配置。

  4. Markdown
    作用:Markdown是编写文档和README文件的常用格式,Markdown All in One提供了一站式的Markdown语法高亮、预览和快捷操作。
    安装理由:在机器人开发中,记录项目文档、撰写报告、编写代码注释十分重要。此插件能让开发者轻松创建结构化的文档,提高文档编写效率。

二、智能辅助类插件
  1. GitHub Copilot
    作用:基于AI的代码补全工具,能够根据上下文预测并生成代码。
    安装理由:自动驾驶和机器人开发往往涉及复杂的算法和代码逻辑,GitHub Copilot可以为开发者提供智能代码建议,节省编写重复代码的时间,并帮助开发者快速搭建项目框架。

  2. IntelliCode
    作用:IntelliCode通过机器学习提供智能代码建议,帮助开发者完成复杂的代码编写任务。
    安装理由:在开发大型项目时,智能提示有助于提高代码质量和编写速度,尤其是在多文件、多模块的ROS项目中。这个插件还能根据团队的开发习惯进行优化,提供个性化建议。

三、科学计算与数据分析类插件
  1. Jupyter
    作用:支持Jupyter Notebook,提供Python的交互式开发环境,常用于数据分析、算法测试、机器学习模型训练。
    安装理由:机器人和自动驾驶系统往往需要进行大量的数据分析和算法验证。Jupyter插件在VSCode中集成了强大的Notebook环境,方便开发者在不离开编辑器的情况下进行代码编写和测试。
四、ROS开发相关插件
  1. ROS
    作用:提供对ROS1的支持,包含了ROS包管理、工作区构建、启动文件解析等功能。
    安装理由:对于从事机器人开发的用户,ROS1是主流的开源机器人操作系统之一。此插件能帮助开发者在VSCode中无缝进行ROS开发,进行工作区管理、调试和代码提示等操作。

  2. ROS 2
    作用:专为ROS 2开发的插件,支持ROS 2包的创建、构建和调试,帮助开发者快速适应ROS 2的开发流程。
    安装理由:随着ROS 2的逐渐普及,越来越多的机器人项目迁移到ROS 2平台。该插件使VSCode成为一个完整的ROS 2开发环境,适合自动驾驶、机器人领域的开发工作。

  3. MSG Language Support
    作用:为ROS中常用的消息类型文件(.msg、.srv、.action)提供语法高亮和智能感知支持。
    安装理由:在ROS开发中,消息定义是系统交互的核心。该插件帮助开发者快速理解和编写消息定义文件,简化了ROS消息通信系统的开发。


3 总结

总结来说,使用VSCode的这些扩展插件,可以打造一个高效的开发环境,非常适用于ROS、机器人和自动驾驶的开发场景。

这些插件能提高咱们码编写的便捷性,还增强了项目的调试、测试和管理功能,为开发者提供了全方位的支持。

相关链接

其他内容可参考:

  • SLAM实操入门(一):在已有WIN10的电脑上安装Ubuntu20.04
  • SLAM实操入门(二):安装ROS Noetic并运行“小乌龟”程序
  • ROS学习笔记(一):ROS1入门简明介绍(附详细注释)
  • ROS学习笔记(二):鱼香ROS — 超便捷的一键安装/配置/换源指令

相关文章:

ROS学习笔记(三):VSCode集成开发环境快速安装,以及常用扩展插件配置

文章目录 前言VSCode集成开发环境1 安装VSCode2 VSCode扩展插件2.1 VSCode扩展插件模块介绍2.1 常用扩展插件配置一、语言支持类插件二、智能辅助类插件三、科学计算与数据分析类插件四、ROS开发相关插件 3 总结相关链接 前言 关于Ubuntu与ROS的常规安装,可以看这几…...

论文精读--Two-Stream Convolutional Networks for Action Recognition in Videos

对于单张图片,丢进卷积和全连接层直接得出分类结果就行 但对于视频,早期的一些工作把视频中的一些关键帧抽取出来,把一个个帧通过网络,最后把结果合并,或者把帧叠起来,一起丢进网络。在网络中进行early fu…...

JAVA姓氏头像情侣头像家庭头像签名头像谐音顽埂头像设计小程序头像大全系统小程序源码

姓氏头像到谐音梗,打造你的专属头像大全系统 🎨✨ 👨‍👩‍👧‍👦 家庭头像:记录温馨瞬间 在这个充满爱的时代,用一张家庭头像来记录你和家人的美好瞬间吧!我们的“姓氏…...

UE5.4.3 Replay 重播回放系统

工程的配置文件DefaultEngine.ini中需要加入 +NetDriverDefinitions=(DefName=“DemoNetDriver”,DriverClassName=“/Script/Engine.DemoNetDriver”,DriverClassNameFallback=“/Script/Engine.DemoNetDriver”) 此步骤将启用并加载DemoNetDriver .ini添加示例 [/Script/En…...

深入掌握 Protobuf 与 RPC 的高效结合:实现C++工程中的高效通信

目录 一、Protobuf与RPC框架的通信流程概述二、Protobuf与RPC在C中的实际应用2.1 定义 .proto 文件2.2 编译 .proto 文件生成C代码2.3 实现服务器端逻辑2.4 实现客户端逻辑2.5 使用CMake构建工程2.6 编译与运行2.7 关键组件解析2.8 序列化与反序列化的实现 三、关键实现与解析四…...

录屏软件大比拼:四款必备工具助你轻松录制精彩瞬间!

哎呀,说到电脑录屏这事儿,我这个办公室小文员可是深有体会啊!平时工作里,经常需要录个会议啊、做个教程啊,或者分享个操作技巧给同事们看。市面上的录屏软件多得数不清,但我最常用的几款工具。今天就来跟大…...

计算机毕业设计宠物领养网站我的发布领养领养用户信息/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

目录 1.课题背景 2.课题意义 ‌ 3.技术介绍 4.技术性需求 4.1后端服务‌: 4.2 前端展示‌ 5.数据库设计‌: 6.系统性能‌: 7.安全性‌: 8. 功能介绍: 9. 部分代码 1.课题背景 近年来,随着宠物饲养数量…...

用示波器测动态滞回线

大学物理(下)实验-中南民族大学通信工程2022级 手动逐个处理数据较为麻烦且还要绘图,故想到用pythonmatplotlib来计算结果并数据可视化。 代码实现 import matplotlib.pyplot as plt# 样品一磁化曲线 X [0, 0.2, 0.4, 0.6, 0.8, 1, 1.5, 2.…...

【JDK动态代理】JDK动态代理:为何只能代理接口和接口实现类

在Java开发中,JDK动态代理是一种非常有用的技术,它允许开发者在不修改目标类代码的情况下,为目标类添加额外的功能。然而,JDK动态代理的使用有一些限制,特别是它只能代理接口和接口实现类。本文将深入探讨这一限制的原…...

MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换

承接专栏《MFC工控项目实例二十手动测试界面模拟量输入实时显示》 对于禁止使用的删除、参数按钮,在选中列表控件选项时切换为能够使用。 1、在TypDlg.h文件中添加代码 #include "ShadeButtonST.h" #include "BtnST.h" class CTypDlg : publi…...

前端框架对比和选择指南

前端框架对比和选择指南 随着 Web 开发技术的快速发展,前端框架已经成为了现代 Web 开发的核心工具之一。它们为开发人员提供了快速构建高效、交互性强的应用的基础。当前流行的前端框架主要包括 React.js、Vue.js 和 Angular.js。在这篇技术博客中,我们…...

人工智能价格战——如何降低成本让人工智能更易于普及

十年前,开发人工智能 (AI) 是只有大公司和资金充足的研究机构才能负担得起的事情。必要的硬件、软件和数据存储成本非常高。但从那时起,情况发生了很大变化。一切始于 2012 年的 AlexNet,这是一种深度学习模型,展示了神经网络的真…...

企业间图文档发放:如何在保障安全的同时提升效率?

不管是大型企业,还是小型创业公司,不论企业规模大小,每天都会有大量的图文档发放,对内传输协作和对外发送使用,数据的生产也是企业业务生产力的体现之一。 伴随着业务范围的不断扩大,企业与客户、合作伙伴之…...

深入解析 ConcurrentHashMap:从 JDK 1.7 到 JDK 1.8

✨探索Java基础 ConcurrentHashMap✨ 引言 ConcurrentHashMap 是 Java 中一个线程安全的高效 Map 集合。它在多线程环境下提供了高性能的数据访问和修改能力。本文将详细探讨 ConcurrentHashMap 在 JDK 1.7 和 JDK 1.8 中的不同实现方式,以及它们各自的优缺点。 …...

VS code user setting 与 workspace setting 的区别

VS code user setting 与 workspace setting 的区别 引言正文引言 相信有不少开始接触 VS code 的小伙伴会有疑问,user setting 与 workspace setting 有什么区别呢?这里我们来说明一下 正文 首先,当我们使用 Ctrl + Shift + P 打开搜索输入 setting 后,可以弹出 4 个se…...

XPath基础知识点讲解——用于在XML中查找信息的语言

1. 什么是XPath? XPath(XML Path Language)是用于在XML(Extensible Markup Language)文档中查找信息的语言。它可以通过路径表达式来选择XML文档中的节点,类似于如何在文件系统中使用路径查找文件。XPath是…...

Visual Studio 2022

VS(Visual Studio)是一款由微软开发的集成开发环境(IDE),用于开发应用程序、网站以及移动应用等。VS的历史可以追溯到1997年,当时发布了第一个版本的VS。以下是VS的一些重要历史里程碑: Visual …...

微软Win11 22H2/23H2 九月可选更新KB5043145发布!

系统之家于9月27日发出最新报道,微软针对Windows11系统,发布了九月最新可选更新补丁KB5043145,22H2用户安装后,系统版本号升至22621.4249,23H2用户安装后升至22631.4249。本次更新修复了Edge使用IE模式有时会停止响应等…...

试试号称最好的7B模型(论文复现)

试试号称最好的7B模型(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 试试号称最好的7B模型(论文复现)概述论文原理部署与复现推理微调adapter 融合 概述 Mistral 7B 是一个新型的具有 7.3 万亿参数的大语言模型。…...

CTF中文件包含

php伪协议的分类 伪协议是文件包含的基础,理解伪协议的原理才能更好的利用文件包含漏洞。 php://input php://input代表可以访问请求的原始数据,简单来说POST请求的情况下,php://input可以获取到post的数据。 使用条件:includ…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...