VScode 使用教程——ros下编译C/C++代码

有关VScode安装流程请参考ubuntu小工具大全

接下来是关于如何创建ROS空间并在vscode中编译ros.

1. 创建ros空间

mkdir -p demo02_ws/src  # demo02_ws是你自己的工作空间名字
cd demo02_ws/
catkin_make
code .      # 在当前工作空间demo02_ws进入VScode 注意code后面有个空格

2. vscode 中编译 ros

Ctrl+Shift+B,在出来的的弹窗中,点击catkin_make:build一栏后面的小齿轮

VScode 使用教程——ros下编译C/C++代码_第1张图片

出现以下界面:

VScode 使用教程——ros下编译C/C++代码_第2张图片 用下面代码全部替换上面的代码并保存:

{
	// 有关 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"
			}
		]
	}
	

这样配置好之后,以后只要按快捷键 Ctrl+Shift+B就会自动编译。

VScode 使用教程——ros下编译C/C++代码_第3张图片

3. 编写ros功能包

右键左侧栏目的src,选择create catkin package,在出现的弹窗里输入功能包的名字(我写的是hello_vscode)回车,之后输入依赖roscpp rospy std_msgs,回车。

可以看到左侧栏目里有我们创建的功能包。右键第二个src——>新建文件——>输入文件名“hello_vscode_c.cpp”,这样就创建好文件可以开始写了。(!!!!注意这里有两个src文件,选择第二个src)

VScode 使用教程——ros下编译C/C++代码_第4张图片VScode 使用教程——ros下编译C/C++代码_第5张图片

 在编写程序的时候发现vscode不会代码提示,解决方法为:

进入c_cpp_properties.json文件,把第16行的"cppStandard": "c++14"这样一行命令改称成"cppStandard": "c++17",保存之后就有提示了。

VScode 使用教程——ros下编译C/C++代码_第6张图片VScode 使用教程——ros下编译C/C++代码_第7张图片

修改CMakekLists.txt文件(!!!!注意这里有两个src和两个CMakeList文件,不要搞错了,选择内层的CMakeList文件)

VScode 使用教程——ros下编译C/C++代码_第8张图片

 如果发现显示出来的代码没有高亮,点击最右下角的Text位置,在弹窗中输入makefile,就可以高亮代码。

找到136行的add_executable(${PROJECT_NAME}_node src/hello_vscode_node.cpp)语句

和149-151行target_link_libraries(${PROJECT_NAME}_node,Ctrl+/取消注释。 我们要对这两行进行修改。VScode 使用教程——ros下编译C/C++代码_第9张图片

 把${PROJECT_NAME}_node替换成你要映射的节点名字,一般都是源文件名。然后把src/hello_vscode_node.cpp改成你自己的源文件名。

VScode 使用教程——ros下编译C/C++代码_第10张图片

 改完之后Ctrl+Shift+B进行编译

如果出现报错,注意检查136行的语句是否改对,src/后面的是你的源文件名字,记得加cpp,src前面的那个不加cpp

VScode 使用教程——ros下编译C/C++代码_第11张图片

成功编译后如下:

VScode 使用教程——ros下编译C/C++代码_第12张图片

 4. 启动roscore运行

不需要另外开终端,点击"+"号就可以新开终端,在终端中输入roscore 

新开一个终端,输入

source ./devel/setup.bash
rosrun hello_vscode hello_vscode_c  # rosrun 功能包名 映射的节点名称

运行成功界面:

这里rosrun后面的功能包名是我们在第3步最开始的弹窗里命名的,映射的节点名称是在修改CMakeList文件时136行add_executable里面的修改的映射节点名字。

注意,当你修改了代码之后,需要重新Ctrl+Shift+B编译一下,然后source ./devel/setup.bash,然后rosrun hello_vscode hello_vscode_c

你可能感兴趣的:(ROS学习,ubuntu,linux)