文件结构树
launch. json
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "LKOpticlaFlow GDB",//配置名称,默认就行 "type": "cppdbg", //配置类型,不要改 "request": "launch",//请求配置类型,可以为launch(启动)和attach(附加) "program": "${workspaceFolder}/bin/LKOpticalFlow",//将要进行调试的可执行程序 "args": [],//程序调试时需要传达的参数,没有就空着 "stopAtEntry": false, //程序在程序入口处暂停,一般设为false "cwd": "${fileDirname}",//工作目录,一般为默认 "environment": [], "externalConsole": false,//是否额外显示控制台窗口,false为不显示 "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "echo"//调试会话开始前执行的任务,和task绑定的纽带 } ] }
launch只是运行和调试,而可执行文件的生成需要利用task.json!
菜单栏点击“终端”,选择“配置任务”,选择“others”
task.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "echo", //需要和launch里的"preLaunchTask": "echo"相对应, //意思是,要执行launch的内容要先执行label为echo的任务 "type": "shell",//task的类型为shell语言,这个和下面的command命令相对应 "command": "bash .vscode/build.sh"//执行.vscode/build.sh这个shell脚本 } ] }
build.sh用来执行cmaked外部编译
cmake常用的命令可以参考我的另一篇文章
build.sh
!#bin/bash mkdir build cd build cmake .. make -j4