需要提前写好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中的两个任务。
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文件
再执行一次运行-->添加配置
或者直接粘贴下面的内容
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,即可以调试程序