前提:
安装VS Code
安装插件,C/C++, ROS
安装插件Txt Syntax, 作用:CMakeLists.txt语法高亮。 参考链接:https://blog.csdn.net/u012254599/article/details/106143540/
安装插件Msg Language Support, 作用:msg,srv,action语法高亮
首先手动建立catkin workspace
1. mkdir ~/catkin_ws
2. cd ~/catkin_ws
3. mkdir src
4. cd src
5. catkin_init_workspace
6. cd ..
7. catkin_make
至此完成工作空间的建立
此时可以用VS Code打开这个工作空间。VS Code会自动识别出这是ROS的catkin workspace。
会自动添加.vscode文件夹。该文件夹下,会有c_cpp_properties.json,settings.json两个文件。
建立功能包的方式:
1.右键src文件夹
2.Create Catkin Package
3.会有提示,要求输入package name
4.提示输入,dependencies
5.输入完成后,会自动生成package.xml,其中的build_depend字段,build_export_depend字段,exec_depend字段,会根据你输入的依赖功能包自动生成。
6.自动生成的CMakeLists.txt,其中已有的内容如下:
cmake_minimum_required(VERSION 2.8.3)
project(test2)
#假设之前输入的依赖功能包是roscpp和std_msgs
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
)
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
7.右键src文件夹->new file->建立自己的节点源文件
8.在CMakeLists.txt中,添加如下内容:
#假设建立的源文件名为,example1_a.cpp,生成的节点名为example1_a
add_executable(example1_a src/example1_a.cpp)
add_dependencies(example1_a ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(example1_a ${catkin_LIBRARIES})
提示找不到ros.h的问题:
参考链接:https://blog.csdn.net/ABC_ORANGE/article/details/102665792
在命令行运行:catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes
在c_cpp_properties.json中添加:"compileCommands": "${workspaceFolder}/build/compile_commands.json"