vscode中task.json文件用于定义和配置可以在 VS Code 内部运行的任务(tasks),在这里说的就是将执行ctrl+shift+b映射到执行catkin_make命令
最开始是看autolabor的视频跟着改的task文件(如下)
{
// 有关 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"
}
]
}
但貌似因为视频是20年的,但现在已经25年,vscode更新了一些东西,导致出现了如下报错
/usr/bin/bah:catkin_make:command not found
终端进行“/usr/bin/bash '-c', 'catkin_make'"启动失败(退出代码:127)
最终通过大神的解决方法——原帖终于解决
具体方法为修改task文件,让vscode配置catkin配置的更适合用于 ROS 项目,其中使用了专门的 catkin_make
任务类型和 catkin-gcc
问题匹配器
{
"version": "2.0.0",
"tasks": [
{
"type": "catkin_make",
"args":[
"--directory",
"./"
],
"problemMatcher":[
"$catkin-gcc"
],
"group": {"kind": "build","isDefault": true
},
"label": "catkin_make:build"
}
]
}
最终解决,目前稳定运行
另外,如果出现python3-catkin-pkg 依赖问题,具体为
python3-rosdep-modules : 依赖: python3-catkin-pkg-modules (>= 0.4.0) 但是它将不会被安装
据我的经验来说是完崩了,按照其他帖子的方法是卸载python3-catkin-pkg换一个低版本的,但还是会报错,进一步的错目前又没人解决,所以建议是直接快照恢复,然后改下task就好了