| 字段名 | 类型 | 描述 | 可选值 |
|---|---|---|---|
"name" | string | 显示在调试器中的名称 | 自定义 |
"type" | string | 使用的调试器类型 | "debugpy", "python", "pwa-node" 等 |
"request" | string | 请求类型 | "launch"(启动程序)、"attach"(附加到进程) |
"program" | string | 主程序入口路径(支持变量) | 文件路径,如当前文件 ${file},以及特定${workspaceFolder}/train.py |
"console" | string | 控制台输出方式 | "integratedTerminal"、"none"、"internalConsole" |
"justMyCode" | boolean | 是否只调试用户代码 | true、false |
"args" | array | 向程序传递的命令行参数 | 多个字符串组成的数组 |
"env" | object | 设置环境变量 | 键值对形式 |
"envFile" | string | 加载 .env 文件 | 文件路径 |
"stopOnEntry" | boolean | 是否在入口暂停 | true、false |
"subProcess" | boolean | 是否调试子进程 | true、false |
"cwd" | string | 当前工作目录 | 文件路径 |
"module" | string | 指定运行模块(替代 program) | 如 "pytest"、"unittest" |
"debugOptions" | array | 特殊调试选项 | "RedirectOutput"、"DjangoDebugging"、"Gevent" 等 |
常用变量(宏 替换)
VS Code 支持一些预定义变量,用于动态构建路径和内容:
| 变量名 | 含义 |
|---|---|
${workspaceFolder} | 当前工作区根目录 |
${workspaceFolder:name} | 多根项目中指定名称的根目录 |
${file} | 当前打开的文件路径 |
${fileDir} | 当前文件所在目录 |
${fileBasenameNoExtension} | 当前文件名(不含扩展名) |
${env:VAR_NAME} | 获取系统环境变量,例如 ${env:HOME} |
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "gdb.exe",
"preLaunchTask": "C/C++: g++.exe 生成活动文件",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
以下属性是每种发射配置的必备条件:
type– 用于该启动配置的调试器类型。每个安装的调试扩展都会引入一种类型:例如内置的 Node 调试器,或者 和 用于 PHP 和 Go 扩展。nodephpgorequest– 该发射配置的请求类型。目前,发射并且得到了支持。attachname– 在调试启动配置下拉菜单中出现的友好读者名称。
以下是所有发射配置可用的一些可选属性:
presentation– 利用对象中的 、 和 属性,你可以在调试配置下拉菜单和调试快速选择中排序、分组和隐藏配置和化合物。你还可以在特定平台的部分(、、)中设置,以控制每个操作系统的可见性。ordergrouphiddenpresentationpresentationwindowslinuxosxpreLaunchTask– 要在调试会话开始前启动任务,将该属性设置为tasks.json中指定的任务标签(工作区文件夹中)。或者,也可以设置为使用默认的建造任务。.vscode${defaultBuildTask}postDebugTask– 要在调试会话的最后启动任务,将该属性设置为tasks.json中指定的任务名称(在工作区文件夹中)。.vscodeinternalConsoleOptions– 该属性控制调试控制台面板在调试会话中的可见性。debugServer– 仅限调试扩展作者:该属性允许您连接到指定的端口,而无需启动调试适配器。serverReadyAction– 如果你想在调试程序向调试控制台或集成终端输出特定消息时,在浏览器中打开一个URL。详情请参见下方“调试服务器程序时自动打开URI”部分。
许多调试器支持以下一些属性:
program– 执行文件或在调试器启动时运行的文件args– 传递给程序调试的参数env– 环境变量(该值可用于“取消定义”变量)nullenvFile– 带环境变量的dotenv文件路径cwd– 当前工作目录,用于查找依赖和其他文件port– 连接运行进程时的端口stopOnEntry– 程序启动时立即中断console– 使用哪种控制台,例如,,,或internalConsoleintegratedTerminalexternalTerminal