tasks.json
tasks.json为编译配置文件
cpp
{
"version": "2.0.0", // tasks.json 文件的版本号
"tasks": [ // 任务数组,包含一个编译任务配置对象
{
"type": "cppbuild", // 任务类型,这里是 cppbuild 类型
"label": "compile", // 任务的标签,用于在命令面板中显示
"command": "/usr/bin/g++", // 编译命令的路径
"args": [ // 编译命令的参数
"-g", // 添加 gdb 调试选项
"${file}", // 当前活动文件的路径
"-o", // 指定生成可执行文件的名称
"${fileDirname}/${fileBasenameNoExtension}" // 生成的可执行文件的路径和名称
],
"options": { // 任务选项
"cwd": "${fileDirname}" // 任务执行时的工作目录
},
"problemMatcher": [ // 问题匹配器,用于捕获并处理编译错误信息
"$gcc" // 使用预定义的 gcc 问题匹配器
],
"group": { // 任务分组
"kind": "build", // 任务的分组类型为构建
"isDefault": true // 表示快捷键 Ctrl+Shift+B 可以运行该任务
},
"detail": "compiler: /usr/bin/g++" // 任务的详细信息,描述该任务使用的编译器路径
}
]
}
launch.json
launch.json为调试配置文件
cpp
{
"version": "0.2.0", // launch.json 文件的版本号
"configurations": [ // 配置数组,包含一个调试配置对象
{
"name": "(gdb) Launch", // 调试配置的名称,显示在调试器界面中
"type": "cppdbg", // 调试器类型,这是 C++ 调试器的类型
"request": "launch", // 调试请求类型,表示启动新的调试会话
"program": "${workspaceFolder}/build/main", // 要调试的程序的入口文件路径
"args": [], // 传递给程序的命令行参数,当前为空数组
"stopAtEntry": false, // 是否在程序入口处自动中断,这里设置为不中断
"cwd": "${workspaceFolder}/build", // 程序的当前工作目录
"environment": [], // 环境变量的配置,当前为空数组
"externalConsole": false, // 是否使用外部控制台窗口,这里设置为不使用
"MIMode": "gdb", // 调试器的模式,这里使用 GDB 调试器
"preLaunchTask": "compile", // 调试会话之前执行的任务名称
"setupCommands": [ // GDB 初始化命令列表
{
"description": "Enable pretty-printing for gdb", // 命令描述
"text": "-enable-pretty-printing", // GDB 命令
"ignoreFailures": true // 如果命令执行失败是否忽略
}
],
"miDebuggerPath": "/usr/bin/gdb" // GDB 可执行文件的路径
}
]
}