由于vscode官网不稳定,提供ubuntu版本的vscode下载链接:
链接:https://pan.baidu.com/s/1qN5E-51QKnxgQLCsV7BelA?pwd=2q4l 提取码:2q4l
#创建并初始化工作空间
mkdir -p ~/test_ws/src
cd ~/test_ws/src
catkin_init_workspace
#编译工作空间
cd ~/test_ws/
catkin_make
#设置工作变量
source devel/setup.bash
在文件夹下,输入code . 可以直接打开工作空间。
code .
因为安装了ROS插件,VScode会直接识别catkin环境,并且自动生成.vscode文件夹,里面保含c_cpp_properties.json、settings.json 两个文件。
c_cpp_properties.json主要是includePath参数,当有自定义头文件时,需要在其内添加。
setting.json主要是ROS使用python编程,python相关配置,以及其它配置。我这里没有做出改动。
语法:catkin_create_pkg
#创建功能包
$ cd ~/catkin_ws/src
$ catkin_create_pkg test_pkg std_msgs rospy roscpp
#编译功能包
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
在左侧资源管理器找到我们创建的工作区中的src文件夹,右键src选择create catkin package:
弹出的第一个框(package name)填写你的功能包名称,这个是自定义,我命名为test_pkg;
弹出的第二个框(dependencies)填写你用到的功能包名称,这里填roscpp rospy std_msgs;
c_cpp_properties.json和settings.json自动生成不需要修改。
按下ctrl + shfit + p输入指令tasks: configure task,然后会下拉出许多,选择catkin_make: build 会自动生成tasks.json文件。
在test_pkg文件夹下src文件夹内创建helloworld.cpp 文件
#include "ros/ros.h"
int main(int argc, char *argv[])
{
//执行 ros 节点初始化
ros::init(argc,argv,"hello");
//创建 ros 节点句柄(非必须)
ros::NodeHandle n;
//控制台输出 hello world
ROS_INFO("hello world!");
return 0;
}
编译语法:
add_executable(节点名 src/文件名)
target_link_libraries(节点名 ${catkin_LIBRARIES})
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
# add_executable(${PROJECT_NAME}_node src/test_pkg_node.cpp)
## Specify libraries to link a library or executable target against
# target_link_libraries(${PROJECT_NAME}_node
# ${catkin_LIBRARIES}
# )
在test_pkg文件夹下CmakeLsit.txt文件内添加:
add_executable(hello src/helloworld.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})
catkin_make
执行快捷键:ctrl+shift+b
roscore
执行快捷键ctrl + shfit + p,再输入ROS:START
source devel/setup.bash
rosrun test_pkg hello
执行快捷键ctrl + shfit + p输入ROS:Run a Ros executable, 依次输入你创建的功能包的名称以及节点名称(即编译成功后二进制文件的名称)
ctrl+shift+p:调出用于执行命令的输入框
ctrl+shift+b:编译
参考: ROS支持的IDE:http://wiki.ros.org/IDEs VS
code编译ROS教程:https://marketplace.visualstudio.com/items?itemName=ms-iot.vscode-ros
博客:https://blog.csdn.net/g944468183/article/details/123759886