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

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Docker 离线安装指南

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

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...