VScode是一个很好用的代码编辑器,特别是在学习ROS编程时,无论是C++还是python,在编辑代码时都很方便。是一个很好的学习利器。
软件下载与安装
下载地址:Documentation for Visual Studio Code
安装软件
进入文件保存文件夹Downloads
cd Downloads
解压并安装软件包code_1.94.0-1727878498_amd64.deb
sudo dpkg -i code_1.94.0-1727878498_amd64.deb
如果提示安装包被占用,没法安装,重启一下电脑就行了。也可以杀掉占用的进程。
创建工作空间并打开VScode软件
新建或者进入一个工作空间,新建工作空间上一篇文章有详细介绍
退出刚刚安装的文件夹
cd
进入工作空间并编译
cd helloworld
catkin_make
打开VScode
code
VScode会打开,选择左边拓展选项,安装相关插件
配置VScode生成任务
配置编译任务
如果第一次进去,需要配置生成任务,快捷键Ctrl+Shift+B,也就是终端选项中的运行生成任务,首次进入,点击唯一下拉框,“没有找到要运行的生成任务,配置生成任务“,选择使用模板创建tasks.json文件,选择others,打开tasks.json。如果已经生成了配置任务,想要重新编辑任务,使用命令面板快捷键Ctrl+Shift+P,在搜索框里搜索task,选择tasks:open user tasks,就可以打开tasks.json文件了。
编辑tasks.json文件
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "catkin_make:debug", //代表提示的描述性信息
"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
"command": "catkin_make",//这个是我们需要运行的命令
"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
"group": {"kind":"build","isDefault":true},
"presentation": {
"reveal": "always"//可选always或者silence,代表是否输出信息
},
"problemMatcher": "$msCompile"
}
]
}
注释有关于每个参数和代码的解释。之后可根据自己需求编写。我们这里执行的是catkin_make命令。
创建ROS功能包
添加工作空间,文件>添加文件夹到工作空间,选择工作空间的src文件夹之后就可以在左侧选项第一个文件夹图表中看到src文件夹
右键src在菜单最下面选择创建catkin_make包,先输入包的名字,在输入包的依赖。
编译环境
ctrl+shift+b运行出现两个问题
src文件夹中包含了CmakeLists,将他放到其他文件夹中就行。
在工作空间
pip install empy
之后就编译成功了
运行python文件
在vs_test包下面新建scripts,新建python文件
#! /usr/bin/env python
"""
Python 版本的 HelloVScode,执行在控制台输出 HelloVScode
实现:
1.导包
2.初始化 ROS 节点
3.日志输出 HelloWorld
"""
import rospy # 1.导包
if __name__ == "__main__":
rospy.init_node("Hello_Vscode_p") # 2.初始化 ROS 节点
rospy.loginfo("Hello VScode, 我是 Python ....") #3.日志输出 HelloWorld
右键scripts→在终端中打开,添加权限
# chmod +x 自定义文件名.py
chmod +x hello_vscode.py # *.py可以给所有py文件加权限
修改CMakeLists.txt文件
catkin_install_python(PROGRAMS scripts/vscode_test.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
新打开一个终端
roscore
在原来终端
source ./devel/setup.bash
rosrun vs_test vscode_test.py