1、创建工作空间
使用快捷键ctrl+alt+T打开终端,输入指令。“Name”处填写创建工作空间的名字。
mkdir -p “Name”/src
创建完成后进入工作空间并进行编译,输入指令。
cd “Name”
catkin_make
2、创建功能包
在工作空间下输入code . 即可打开vscode
cd "Name"
code .
编译成功后会有如下文件夹
在src文件夹下右键,点击create catkin package
然后输入功能包的名字。回车后输入依赖包roscpp rospy std_msgs。回车即创建完成。
在功能包下的src文件夹中创建开发文件(cpp文件或py文件)
3、vscode中对文件编译
编写好程序之后需要对文件进行编译,可以使用快捷键ctrl+shift+B。新创建的工作空间需要选择编译器,进行一些设置。选择catkin_make:build。点击右侧的设置按钮,将代码替换为以下代码。
{
"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"
}
]
}
替换完后保存,再用快捷键编译即可。
遇到的问题
1、开发C++程序,头文件报红
解决办法:在.vscode文件夹下的c_cpp_properties.json文件中,修改C++14为C++17保存即可解决。
2、打印中文显示乱码或者全是问号
当使用ROS_INFO()函数打印中文字符时,通常会出现打印出来乱码。
解决办法:在main函数开头中加一行代码即可。
setlocale(LC_ALL,""); //打印中文
3、 导入第三方库的时候,未出现包的联想
如上图可看出导入自写的包时,字体为白色,需手动打全。
解决方法:在“.vscode”文件夹下的settings.json文件中添加自写库的路径。