需要提前写好CMakeLists.txt
在tasks.json中写好编译的步骤,即tasks,如cmake … 和make -j
在lauch.json中配置可执行文件的路径和需要执行tasks中的哪一个任务
具体步骤:
1.写好c++代码和CMakeLists.txt
2.配置tasks.json
终端–>配置任务–>g++生成活动文件
此时会在.vscode中生成tasks.json文件
需要修改tasks.json文件。一般的编译步骤就是cmake … 和make -j,对应的就是tasks.json中的两个任务。
{"version": "2.0.0","tasks": [{"type": "shell", // cmake属于shell命令"label": "cmake", // 这条任务的名字"command": "cmake", // 对应的shell命令"args": [".." // cmake命令对应的参数,一般就是..],"options": {"cwd": "${workspaceFolder}/build" // 需要在哪个路径下执行这条任务}},{"type": "shell", // make也属于shell命令"label": "make", // 这条任务的名字"command": "make", // 对应的shell命令"args": ["-j" // make命令对应的参数,一般就是-j],"options": {"cwd": "${workspaceFolder}/build" // 需要在哪个路径下执行这条任务},"dependsOn": ["cmake" // make命令需要在cmake执行完成后执行,这个cmake就是上面那条任务的名字]},]
}
3.配置lanuch.json
运行–>添加配置–>C++
此时会生成launch.json文件
再执行一次运行–>添加配置
或者直接粘贴下面的内容
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/build/${fileBasenameNoExtension}", //编译生成的可执行文件"args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}/build","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "make" // 执行tasks中的哪个任务}]
}
4.debug程序
到指定的main文件按下F5,即可以调试程序