VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。
一、vscode的下载与安装
1.1 下载
下载网址:[https://code.visualstudio.com/](https://code.visualstudio.com/)
历史版本下载链接:[https://code.visualstudio.com/updates](https://code.visualstudio.com/updates)
1.2安装
方式1:双击安装即可(或右击选择安装)
方式2:sudo dpkg -i xxxx.deb
卸载:
sudo dpkg --purge code
二、安装一些基础插件
2.1 安装中文插件
(1)上方输入chinese进行搜索,选择简体:
(2)右下方提示是否重启,选择重启:
2.2 ros插件下载
在上方输入ROS,进行ROS(develop robot opreating system)插件的下载:
2.3输入cmake,选择“cmake tools”进行下载:
2.4 输入bracket,安装bracket的插件。
三、向code中导入工作空间
3.1 创建 ROS 工作空间
mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make
3.2 进入 xxx_ws 启动 vscode
cd xxx_ws
code .
注 :
(1)编辑文件过程中,保存文件的指令为:ctrl+s。vscode编译前一定要先进行保存;
(2)在某个工作空间中,想要进行code的打开,直接进入这个工作空间,打开终端,然后输入:code .
(3)先快捷键 ctrl+~ 打开下面的控制面板;然后可以光标点击左下角的“终端”,然后点击“+”,就可以进行终端下的操作了。
四、 code的基础环境搭建和设置
4.1 设置编译快捷键
快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build
(右侧小齿轮)
可以点击配置设置为默认,修改.vscode/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"
}
]
}
也可以只修改一行:
"group": {"kind":"build","isDefault":true},
4.2编辑代码时的补全功能
点击右侧工作空间下的.vscode文件下的{}c_cpp_properities.json;
将
"cStandard": "gnu11",
"cppStandard": "c++14"
改为
"cStandard": "gnu17",
"cppStandard": "c++17"
然后保存一下。
4.3 当ROS_INFO终端输出有中文时,会出现乱码
在函数开头加入下面代码的任意一句:
setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");
五、C++实现
5.1 创建工作空间,并打开vscode。
mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make
cd xxx_ws
code .
5.2 新建功能包
(1)在code的左侧,选定一个src右击,使用catkin_create_pkg 创建一个软件包,然后,在上面的横条上设置包名,回车;
(2)第一次回车后记得添加依赖roscpp rospy std_msgs,再次回车;
5.3 书写源文件
在刚刚创建的软件包中,右键点击,新建文件src,然后创建一个节点的cpp源码文件。
/*
控制台输出 HelloVSCode !!!
*/
#include "ros/ros.h"
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
//执行节点初始化
ros::init(argc,argv,"HelloVSCode");
//输出日志
ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");
return 0;
}
注:当ROS__INFO 终端输出有中文时,会出现乱码
即,INFO: ???
解决办法:在函数开头加入下面代码的任意一句
setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");
5.4编辑配置文件
在功能包的CMakeLists.txt中设置节点源码的编译规则。
cmakelists.txt文件中的代码如何都是白色,在上面输入makefile(makefile),然后点击。然后在cmakelist.txt文件上进行修改:
add_executable(节点名称
src/C++源文件名.cpp
)
target_link_libraries(节点名称
${catkin_LIBRARIES}
)
add_executable(源文件名或其映射名字
src/源文件名.cpp
)
target_link_libraries(源文件名或其映射名字
${catkin_LIBRARIES}
)
5.5 编译运行
roscore
source ./devel/setup.bash
#(rosrun 功能包名 映射名)
rosrun hello_vscode hello_vscode_c
六、python实现
6.1 书写源文件
在刚刚创建的软件包下,右键点击,新建文件夹scripts,然后创建一个节点的py源码文件。
#! /usr/bin/env python3
"""
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
注:(1)第一行的书写中python,注意自己的python版本。
(2)python的源码写完以后,需要一下执行权限: chmod +x 自定义文件名.py
6.2编辑配置文件
打开cmakelist.txt文件:
catkin_install_python(PROGRAMS scripts/自定义文件名.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
6.3编译运行
如果不编译直接执行 python 文件,会抛出异常。
roscore
source ./devel/setup.bash
#(rosrun 功能包名 映射名)
rosrun hello_vscode hello_vscode_c