Clion调试ROS代码
安装VScode
本文视频教程地址
代码实战地址:https://github.com/xiaoqiuslam/zero_start_learning_slam
图文原理地址:https://chunqiushenye.blog.csdn.net/article/details/124528362?spm=1001.2014.3001.5502
视频原理地址:https://space.bilibili.com/222855903?spm_id_from=333.1007.0.0
安装CLion
CLion官方网站
https://www.jetbrains.com/clion/download/#section=linux
第一种安装方式
官网下载专业版本 Clion 的 CLion-2020.1.2.tar.gz 压缩包

点击下载在跳转的界面停留片刻就会有下载的界面出来如下图所示,保存文件就可以了。
解压到文件夹
tar -zxvf CLion-2020.1.2.tar.gz
运行安装脚本
cd CLion-2020.1.2
./bin/clion.sh
然后点击右侧图标锁定到启动器,下次使用的时候就不用脚本启动了。
第二种安装方式


使用命令行安装 sudo snap install clion --classic 安装后可通过快捷启动图标启动
Ubuntu系统下常用快捷键
默认代码跳转快捷键 ctrl+鼠标右键
默认代码跳回快捷键 ctrl+鼠标右键
更改默认设置
File/Setting/Keymap
选择 Main Menu/Navigate
找到 Back
Forward
设置之后如下图所示
Ctrl + Alt + B 跳转到实现
Ctrl + Shift + I 查看定义
Ctrl + Shift + B 跳转到类型声明
Ctrl + / 添加或删除光标所在行的注释
ctrl+shift+/ 可以把选中的多行代码注释和解除注释
JB家产品自动格式化代码的快捷键为Ctrl+Alt+L但实际操作时却发现只要按下这三个键,就自动进入了Ubuntu的锁屏界面所以可以在File->Setting->Keymap->Main Menu->Navigate->Back->Forward中修改自动格式化快捷键在keymap中搜索reformat,然后删除原快捷键,添加新快捷键 Ctrl + Alt + R 就可以了

局部搜索: ctrl +F
全局搜索: ctrl + shift + F
ctrl+D 快速复制光标所在的行
ctrl+X 快速剪切删除光标所在的行
Shift + Enter 另起一行 可以配合 ctrl+D ctrl+X
把光标放在函数的上面一行输入 + enter 可以快速跳到下一行开头
Alt+Shift+Insert 可以同时选中多行多列
此时可以多行编辑批量修改多行相同的内容
Ctrl + Alt + -/+ 展开折叠当前光标所在的函数或者类
Ctrl + Shift + -/+ 展开折叠所有函数、类
File -> Settings -> Dditor->Font -> Size更改代码字体大小
Settings->Apperance改变CLion主题和窗口字体大小
写代码的过程成,如果出现问题,例如漏写了一个参数,会智能提示,此时点击左侧的小灯泡或者按 Alt + Enter,IDE会给出建议的解决方案
File->setting->plugins->搜索安装想要的插件
clang-format格式化代码
安装clang-format
sudo apt-get install clang-format

Clion编译器调试C++代码新建工程
点击File->New Project
创建一个可执行程序,c++标准选择c++11,设置路径后,点击右下角的Create。
打开已经有的工程
File->Open->找到你要打开的项目的顶层目录下面的 Cmakelist.txt 文件
这样就可以打开你之前创建好的工程或者是别人的工程了
或者打开文件夹, 打开后点击Cmakelist.txt重新构建项目
运行项目代码
clion的调试其实用的是GDB调试,只不过clion把GDB的命令行调试给界面化了,使我们更加方便的调试。我们调试一下视觉SLAM十四讲第一版第五讲的代码
Run->Edit Configuration
主要是 Executable, Program arguments 和 Working directory 的配置
Executable 是你要生成的可执行程序
Program arguments 是程序运行需要输入的参数路径
Working directory 就是参数的路径,如果给出上面的路径就可以是相对这个路径的相对路径
如果没有给出上面直接写上绝对路径就可以了。
设置完之后 点击 Apply 应用配置

这个程序需要输入图像的路径作为参数,然后复制到如下图所示的位置
点击下图中的小三角形就可以运行了,运行结果如下图所示
按下任意键会继续显示下面的图片

调试代码
下面我们来调试这个程序,先设置一些断点,设置断点,点击相应的代码行左边,设置断点(红色实心圆)

点击 Clion 右上角配置旁的蜘蛛状绿色图标,开始调试.
下端这个Debugger窗口可以显示程序的运行过程中的变量名字等相关属性信息和变量的值

这个 Console 窗口可以打印程序的终端输出
当前程序运行停止在了我们设置的第一个断点处了,当我们点击下面这个小按钮的时候就可以跳到下一个断点处,
Clion调试ROS代码
clion打开已经有的ROS工程,ROS的编译用的也是cmake打开终端,进入你的ROS工作空间ros和clion建立关联就是在同一个终端将ros的工程路径加入环境变量然后启动clion
source ./devel/setup.bash
locate clion.sh
sh PATH_TO_CLION/bin/clion.sh
用clion打开一个ros的project

创建ros节点在clion下运行
创建一个工作空间,功能包,节点,参考下面教程
【ROS】创建工作空间Workspace和功能包Package
source ./devel/setup.bash
roscore
locate clion.sh
sh PATH_TO_CLION/bin/clion.sh 启动clion
通过CMakeLists.txt打开工程,然后启动可执行程序,输出如下:

调试
其他问题
切记第四步在~/catkin_ws/src/ 下运行clion
加载完项目之后,运行如果遇到头文件找不到,例如 ros/ros.h no such file
试试把CMakeLists.txt文件中
include_directories(${catkin_INCLUDE_DIRS})
放在catkin_package()那一行的后面
安装VScode
官方下载地址
https://code.visualstudio.com/Download
官方使用教程
https://code.visualstudio.com/docs/cpp/cmake-linux
安装命令
sudo dpkg -i
由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹,通过VScode打开此文件夹,新建文件要写后缀名vscode字体大小快捷键,VS Code 才能识别出来是什么类型的文件,新建源码文件 main.cpp 和编译文件CMakeLists.txt。如果我们想打开查看一个很大的文件直接拖拽到窗口就可以打开了,在CMakeLists.txt中设置build类型为”debug”,相比”release”运行速度会慢一些,因为需要一些调试信息。
SET(CMAKE_BUILD_TYPE Debug)

新建文件要写后缀名,VS Code 才能识别出来是什么类型的文件

这里我们创建一个 C++源码文件

从上到下依次图标含义是打开关闭资源管理器,全局搜索,代码管理,运行,扩展资源管理器代码编写区域从左到右依次为,问题,输出,调试控制台,终端账户设置可以看到一些编译器相关的信息

放一张官方解释的图
高频快捷键
对于行的操作
光标在当前的行尾,回车即可重开一行。
光标不在当前行的行尾,ctrl+enter 是在当前行的下方插入一行;
ctrl+shift + enter 是在当前行的上方插入一行。
光标没有选择内容时,ctrl + x 剪切当前行;ctrl +shift + k 删除当前行
alt + ↑ 向上移动当前行;alt + ↓ 向下移动当前行
shift + alt + ↓ 向下一行复制当前行;shift + alt + ↑ 向上一行复制当前行
vscode实现在标点符号之前快速换行快捷键,操作是在符号之前输入ctrl + enter实现快速换行
跳转快捷键(forward)
首先找到设置,然后找到 Keyboard Shortcuts,输入栏中输入forward然后会自动显示对应的快捷键
回退快捷键 (back)
输入栏中输入back然后会自动显示对应的快捷键
代码跳转快捷键
ctrl+shift+ -
代码跳回快捷键 ctrl + alt + -
折叠快捷键( fold)
输入栏中输入fold然后会自动显示对应的快捷键
解折叠 (unfold)
输入栏中输入unfold然后会自动显示对应的快捷键
Ctrl+Shift+[ 快速折叠鼠标指针所在区域代码
Ctrl+Shift+] 快速展开鼠标指针所在区域代码
先按Ctrl+k 再按ctrl+0 折叠所有代码
先按Ctrl+k 再按ctrl+j 折叠所有代码
字体大小 (font size)
在设置里面找到settings[ctrl+,],然后找到Text Editor -> Font size 然后调整就可以了
ctrl + "+、-",整体面板调节大小。
ctrl+s 进入设置页面设置字体调节大小快捷键为:ctrl+0放大、ctrl+9缩小
ctrl + 数字 0 可以reset 恢复最原始的设置
Ctrl + / 当前单行注释或取消;Shift + Alt + A 多行块区域注释或取消
ctrl+s 保存当前对代码作的修改
代码格式化
对于选中区域的操作: ctrl + Shift + I
打开或者关闭资源管理器 Ctrl+ b
同时选中多行单列
alt + shift + 鼠标调整四个方向键
VScode对多行编辑有两种模式。
第一种模式
Alt+Shift 竖列选择
这种模式下只可以选择竖列,不可以随意插入光标。所以只限制于同一列且不间隔的情况下。
第二种模式
Shift+Ctrl 竖列选择
Ctrl+光标点击 选择多个编辑位点
这种模式下不仅可以选择竖列,同时还可以在多个地方插入光标。
两种模式的切换
使用Shift+Ctrl+p快捷键调用查询输入栏,输入“cursor”,列表中会出现“切换多行修改键”这个选项。选择这个选项就可以在两种模式下切换。
Ctrl + Shift + f 能够在整个项目中搜索任何匹配的文本,在调试代码寻找错误的时候很常用。
Ctrl+Shift+N 打开一个新的编辑器
Ctrl+Shift+W 关闭编辑器
Ctrl+N 打开一个新的编辑区窗口
Ctrl+W 关闭编辑器区窗口
在一个大型项目中,如果不小心关闭了一个文件或者窗口,可以按 Ctrl + Shift + t 重新打开一个关闭的窗口。
通过 "Ctrl+`"可以打开或关闭终端
光标没有选择内容时,ctrl + x 剪切当前行
ctrl +shift + k 删除当前行
alt + ↑ 向上移动当前行
alt + ↓ 向下移动当前行
shift + alt + ↓ 向下一行复制当前行
shift + alt + ↑ 向上一行复制当前行
Ctrl + / 当前单行注释或取消
Shift + Alt + A 多行块区域注释或取消
在当前文件中搜索 ctrl + f

Ctrl + Shift + f 能够在整个项目中搜索任何匹配的文本,在调试代码寻找错误的时候很常用。

在
Ctrl+Shift+N 打开一个新的编辑器
Ctrl+Shift+W 关闭编辑器

通过 "Ctrl+`"可以打开或关闭终端

在
Ctrl+Shift+[ 快速折叠鼠标指针所在区域代码
Ctrl+Shift+] 快速展开鼠标指针所在区域代码
先按Ctrl+k 再按ctrl+0 折叠所有代码
先按Ctrl+k 再按ctrl+j 折叠所有代码
代码跳转快捷键
ctrl+shift+ -
代码跳回快捷键 ctrl + alt + -

删除添加行注释

还有更多快捷键操作方法,点击设置选择键盘快捷方式(keyboard shortcuts),右边会弹出所有快捷键。

插件
默认使用的语言是英文,通过安装插件可以设置为中文点击左侧栏的Extensions选项,搜索C++、C++Clang、Cmake、Cmake Tools安装插件
Bracket Pair Colorizer 2这个插件的功能是相匹配的括号会以相同的颜色来区分。
TODO Tree一个注释代码高亮插件,默认配置不支持高亮 ? 、 ! 、 Step 需要进行设置。
调试代码
首先就是借助camke生成可执行程序,有了可执行程序才能调试
首先我们把编译文件CMakeLists.txt复制到另外一个地方
然后打开源码文件,接着键盘输入 ctrl+shift+p 搜索窗口输入 CMake: configure屏幕右下角会弹出下图,点击 create屏幕上方出现输入框,输入一个camke工程的名字 “cmake_vsc” 就是你生成可执行程序的名字然后回车出现下面这个窗口,选择生成可执行程序回车之后自动打开这个文件 可以看到工程名字 是我们上面设置的,现在我们把之前的CMakeLists.txt拷贝过来,删掉main.cpp
tasks.json
配置tasks.json文件,这个文件用来方便用户自定义任务,我们可以通过这个文件来添加g++/gcc或者是make命令,方便我们编译程序。build (compile) the program
一个C++项目一个C++文件compiler build(编译 构建)—>tasks.json一个C++项目compiler build(编译 构建)—>CMake:build
一个C++文件debugger(调试)—>tasks.json一个C++项目debugger(调试)—>CMake:build
可以被用来做编译,而launch用来执行编译好的文件
launch.json
配置launch.json文件vscode字体大小快捷键,它是一个启动配置文件。需要进行修改的地方的是指定运行的文件,其次我们还可以在里面添加build任务。配置Visual Studio Code 的调试文件 launch.json点击顶部菜单栏 Run->Start Debugging选择 C++(GDB/LLDB)弹出 launch.json 文件,作如下修改修改 program 后的文件为你的工程生成的可执行文件的路径,修改后是这样的”program”: “${workspaceFolder}/build/bin/online_pcalib_demo”,
修改 args 后面 [] 内为你程序运行需要的参数”args”: [“-i”, “/media/wyb/myspace/Study/DATA/Indoor/1095_dir_2018_11_08_22_35_04/imageDir”],
打开源码文件,设置断点,然后点击上方的 Run 然后点击 StartDebugging 就可以调试了。
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信: