当前位置:   article > 正文

vscode配置ROS(noetic)代码开发环境_noeticvscode配置

noeticvscode配置

目录

一、安装环境

二、安装插件

三、 配置过程

3.1 创建ROS工作空间

3.2  打开 vscode

3.3  开发脚本说明

3.4 如何创建三个脚本

3.5 脚本配置

四、在vscode 使用ROS

4.1  编译节点文件

4.2  使用vscode打开roscore

4.3  运行功能包节点


一、安装环境

ubuntu :20.04

ROS:    noetic   //一定要注意自己的ROS 环境

二、安装插件

打开VSCode,在左侧栏点击Extensions,并在搜索框中需要的插件,如下图所示

其中C/C++、CMake 、CMake Tools、ROS,是必须要装的 

三、 配置过程

3.1 创建ROS工作空间

首先创建一个工作空间,而且是已经catkin_make好了的。具体过程可以看看其他教程

3.2  打开 vscode

     在创建的工作空间下打开终端,运行   code . 

     我的工作空间如下

XXXXXXXX-VM:~/px4_tools/catkin_ws$  code.

 3.3  开发脚本说明

打开之后,安装的ROS插件就会自动识别到这个workspace,同时生成产生.vscode 文件夹。

    一般来说,.vscode 文件需要创建三个脚本,用于代码开发,分别如下:

1. c_cpp_properties.json  2. launch.json  3. tasks.json

简单说一下这三个文件的作用:

  1. c_cpp_properties.json: C++配置文件,处理ros头文件的关系
  2. launch.json: 启动代码调试相关的配置文件,主要用于调试的
  3. tasks.json: 自定义任务列表

3.4 如何创建三个脚本

可以手动在.vscode文件夹下创建三个脚本的,就是   菜单栏-->新建文件-->创建-->选择语言-->JSON  这么一步步走下去

不过,也可以简单点,如下

1.   c_cpp_properties.json:

.vscode 文件会自动产生 c_cpp_properties.json脚本和settings.json脚本

2.   tasks.json:

点击菜单栏: Terminal(终端)->Configure default build task(配置默认生成任务)

然后生成在.vscode的文件夹出现并同时打开一个task.json文件。如图所示

3.   launch.json:

在未配置过调试前,是没有launch.json文件的。

可以通过输入快捷键Ctrl + Shift + D或选择点击vscode上的Run and Debug 按钮,去到调试界面

然后选择 Create a launch.json file,如图所示

 那么三个脚本创建完毕。

3.5 脚本配置

1.  c_cpp_properties.json:

直接复制如下代码,注意 "includePath":和 "compilerPath":,还有 "compileCommands":参数

  1. {
  2. "configurations": [
  3. {
  4. "browse": {
  5. "databaseFilename": "",
  6. "limitSymbolsToIncludedHeaders": true
  7. },
  8. "name": "ROS", //这个可以随意写
  9. "includePath": [ //头文件和环境变量路径,这个一定要包含ros的头文件,否则就会报错
  10. "${workspaceFolder}/**",
  11. "/opt/ros/noetic/include",
  12. "/opt/ros/noetic/include/**", //ROS的头文件路径如下,不同版本修改中间的版本名
  13. //我的版本是noetic,改的话就改这里
  14. "/usr/include/**"
  15. ],
  16. "compileCommands": "${workspaceFolder}/build/compile_commands.json",
  17. // catkin_make 后在devel自动生成一个compile_commands.json的文件
  18. //现在先添加好,省得后面再加
  19. "defines": [],
  20. "compilerPath": "/usr/bin/gcc", //一定要选择gcc,否则一定报错头文件缺失,
  21. "cStandard": "c11", //C 语言标准
  22. "cppStandard": "c++17", //C++ 语言标准
  23. "intelliSenseMode": "gcc-x64" //
  24. }
  25. ],
  26. "version": 4
  27. }

 2.  tasks.json:

直接复制如下代码

  1. {
  2. "version": "2.0.0",
  3. "tasks":
  4. [
  5. {
  6. "label": "catkin_make", //
  7. "type": "shell",
  8. "command": "catkin_make",
  9. "args": [
  10. "-j4",
  11. "-DCMAKE_BUILD_TYPE=Release",
  12. "-DCMAKE_EXPORT_COMPILE_COMMANDS=1",
  13. "-DCMAKE_CXX_STANDARD=14"
  14. ],
  15. "problemMatcher": [
  16. "$catkin-gcc"
  17. ],
  18. "group":
  19. {
  20. "kind": "build",
  21. "isDefault": true
  22. },
  23. "presentation":
  24. {
  25. "echo": true,
  26. "reveal": "always",
  27. "focus": false,
  28. "panel": "new", //改成new之后每个进程创建新的终端,就不会出现终端重复使用啦
  29. "showReuseMessage": true,
  30. "clear": false
  31. }
  32. }
  33. ]
  34. }

3.  launch.json:

复制如下代码,主要关注的是“program”: 是要调试的程序的路径,要写对,否则无法调试

  1. {
  2. // 使用 IntelliSense 了解相关属性。
  3. // 悬停以查看现有属性的描述。
  4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  5. "version": "0.2.0",
  6. "configurations": [
  7. {
  8. "name": "(gdb) Launch", // 配置名称,将会在调试配置下拉列表中显示
  9. "type": "cppdbg", // 调试器类型 该值自动生成
  10. "request": "launch", // 调试方式,还可以选择attach
  11. "program": "${workspaceFolder}/devel/lib/learning_topic/pose_subscriber",
  12. //要调试的程序(完整路径,支持相对路径)
  13. "args": [], // 传递给上面程序的参数,没有参数留空即可
  14. "stopAtEntry": false, // 是否停在程序入口点(停在main函数开始)
  15. "cwd": "${workspaceRoot}", // 调试程序时的工作目录
  16. "environment": [], //针对调试的程序,要添加到环境中的环境变量. 例如: [ { "name": "squid", "value": "clam" } ]
  17. "externalConsole": false, //如果设置为true,则为应用程序启动外部控制台。 如果为false,则不会启动控制台,并使用VS Code的内置调试控制台。
  18. "MIMode": "gdb", // VSCode要使用的调试工具
  19. "setupCommands": [
  20. {
  21. "description": "Enable pretty-printing for gdb",
  22. "text": "-enable-pretty-printing",
  23. "ignoreFailures": true
  24. }
  25. ]
  26. }
  27. ]
  28. }

四、在vscode 使用ROS

4.1  编译节点文件

    按下快捷键:Ctrl +Shift+b(或者直接在vscode终端输入catkin_make)

     就可以进行(catkin_make)编译

ps : 记得在CMakelist文件中添加相应的语句

4.2  使用vscode打开roscore

按下快捷键:Ctrl +Shift+p,输入 

 ROS:Start Core

 启动ROS内核(或者直接在vscode终端输入roscore)

4.3  运行功能包节点

按下快捷键:Ctrl +Shift+p,输入                    (启动rosrun)

ROS:Run a Ros excutable (rosrun)

回车,输入并按照提示选择 (选择需运行的功包)

beginer_tutorials

回车,输入并按照提示选择(选择节点运行)

talker

 OK,整个配置流程就是这样的了。

ps:上面的命令都是 ROS插件 上的,更多指令可以去插件详情查看

 还有什么ROS:stop 关闭内核命令的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/496723
推荐阅读
相关标签
  

闽ICP备14008679号