当前位置: 首页 > 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…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...