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

news2024/10/2 12:07:47

文章目录

  • 前言
  • 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 — 超便捷的一键安装/配置/换源指令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字经济与新质生产力:地理信息与遥感视角下的深度分析

在数字化浪潮的推动下,我们正见证着生产力的一次历史性飞跃。数字经济如何重塑生产力的三大要素:劳动对象、劳动资料和劳动者?让我们来深度分析数字经济如何推动新质生产力的发展。 一、数字经济与地理信息的融合 地理信息与遥感技术是数字…

如何在 Windows 10 上恢复未保存/删除的 Word 文档

您是否整夜都在处理重要的 word 文件,但忘记保存它?这篇文章是给你的。在这里,我们将解释如何恢复未保存的 word 文档。除此之外,您还将学习如何恢复已删除的 word 文档。 从专业人士到高中生,每个人都了解丢失重要 W…

【Android 14源码分析】WMS-窗口显示-流程概览与应用端流程分析

忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

资源《Arduino 扩展板1-LED灯》说明。

资源链接:Arduino 扩展板1-LED灯 1.文件明细: 2.文件内容说明 包含:AD工程、原理图、PCB。 3.内容展示 4.简述 该文件为PCB工程,采用AD做的。 该文件打板后配合Arduino使用,属于Arduino的扩展板。 该文件主要有…

Pytorch实现RNN实验

一、实验要求 用 Pytorch 模块的 RNN 实现生成唐诗。要求给定一个字能够生成一首唐诗。 二、实验目的 理解循环神经网络(RNN)的基本原理:通过构建一个基于RNN的诗歌生成模型,学会RNN是如何处理序列数据的,以及如何在…

计算机毕业设计Spark+PyTorch股票预测系统 股票推荐系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI

《SparkPyTorch股票预测系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和全球金融市场的日益繁荣,股票投资已成为广大投资者的重要选择之一。然而,股票市场的复杂性和不确定性使得投资者在做出投资决策时面临巨大的挑战。传统的股票分析方…

防sql注入的网站登录系统设计与实现

课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放(可以采用hash方式,建议用sha1或md5加盐)采用服务器端的验证码&#…

今天推荐一个文档管理系统 Dorisoy.Pan

Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统,它集成了 Autofac、MediatR、JWT、EF Core、MySQL 8.0 和 SQL Server 等技术,以实现一个简单、高性能、稳定且安全的解决方案。 这个系统支持多种客户端,包括网站、Android、iO…

PID控制原理:看下这三个故事,你就明白了

一、PID的故事 小明接到这样一个任务:有一个水缸点漏水(而且漏水的速度还不一定固定不变),要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水。 小明接到任务后就一直守在水缸旁边,时间长就觉…

Python | Leetcode Python题解之第450题删除二叉搜索树中的节点

题目: 题解: class Solution:def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:cur, curParent root, Nonewhile cur and cur.val ! key:curParent curcur cur.left if cur.val > key else cur.rightif cur i…

Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理

Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理 1. 组与权限 1.1 文件所有者 查看文件所有者: 使用 ls -ahl 或 ll 命令可以查看文件的详细信息,其中包括文件所有者。 修改文件所有者&…

基于SSM的定制衣服系统的设计与实现(定制衣服管理平台的设计与开发、智慧服装定制系统的设计与实现、定制衣服管理系统的设计与实现(源码+定制+参考文档)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

可视化图表与源代码显示配置项及页面的动态调整功能分析

可视化图表与源代码显示配置项及页面的动态调整功能分析 文章目录 可视化图表与源代码显示配置项及页面的动态调整功能分析1.分析图表源代码2.分析源代码显示功能**完整代码参考:** 3.分析源代码显示及动态调整**完整代码参考:** 4.分析代码编辑器及运行…

第1篇:Window日志分析----应急响应之日志分析篇

0x01 Window事件日志简介 Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。 Windows主要有以下三类日志记录系统事件:应…

一文彻底搞懂多模态 - 多模态理解+视觉大模型+多模态检索

文章目录 技术交流多模态理解一、图像描述1. 基于编码器-解码器的方法2. 基于注意力机制的方法3. 基于生成对抗网络的方法 二、视频描述三、视觉问答 视觉大模型一、通用图像理解模型二、通用图像生成模型 多模态检索一、单模态检索二、多模态检索三、跨模态检索 最近这一两周看…

ml sys

https://zhuanlan.zhihu.com/p/65242220 sys是为了ml落地:机器学习分为若干阶段:数据收集和标定,处理数据,特征工程,编写模型,训练模型,模型管理,模型部署,其实每个阶段…

【LeetCode: 1870. 准时到达的列车最小时速 | 二分】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Reality Expansion Vault:基于Vision Pro + AI的冥想应用

在当今快节奏的生活中,人们常常感到与精神原则脱节。为了帮助用户重新与深层的智慧和洞见建立联系,一款名为Reality Expansion Vault(现实扩展库)的应用应运而生。这款专为Apple Vision Pro设计的应用,通过增强现实技术将精神智慧嵌入用户的环境中,改变人们对世界的看法。…

应用于人形手机器人超小型HarmonicDrive哈默纳科减速机

人形手机器人需要高度的精准性和灵活性以完成各种复杂的任务。减速机的应用,为其提供了关键的动力传输和运动控制支持,它能够将电机的高速旋转转换为适合人形手机器人动作的低速高扭矩输出,确保机器人的动作平稳、准确。HarmonicDrive哈默纳科…

LabVIEW回转支承间隙自动化检测系统

开发了一种基于LabVIEW软件的回转支承间隙检测系统,通过高精度传感器和数据采集卡,自动化、高效地测量回转支承的轴向间隙和径向间隙,提高了检测精度和生产质量。以下是对系统的详细描述与应用案例分析,希望能为有类似需求的开发者…