launch.json 的 configurations 数组必须至少包含一项有效配置;空数组或缺失该字段会导致调试无法启动,且需确保每项含 type、request、name 等必填字段。

launch.json 里 configurations 数组必须至少有一项
VS Code 启动调试时根本没反应,或者点“开始调试”直接报错“无法找到有效的启动配置”,大概率是 launch.json 的 configurations 字段为空数组或压根没写。这个字段不是可选的——哪怕你只配一个最简 Node.js 调试,也得有明确的配置对象。
实操建议:
- 确保
.vscode/launch.json文件存在,且顶层结构包含"configurations": [ ... ] - 不要留空数组:
"configurations": []是无效的;至少写一个带"type"、"request"、"name"的对象 - 常见新手误操作:复制了别人的配置但删掉了整个
configurations块,只剩{}或空文件
Node.js 调试必填 program 和 console 参数
用 node 类型调试时,"program" 指向入口文件(如 "./index.js"),缺了它 VS Code 不知道从哪跑起;而 "console" 设为 "integratedTerminal" 才能正常看到 console.log 输出——设成 "internalConsole" 会导致日志不显示或断点失效。
实操建议:
-
"program"必须是相对路径(相对于工作区根目录),不能是绝对路径或未加引号的裸名 -
"console"推荐固定用"integratedTerminal",尤其涉及process.stdin或交互式输入时 - 如果项目用了
ts-node,"type"应该是"pwa-node",且"runtimeExecutable"要指向ts-node二进制(比如"./node_modules/.bin/ts-node")
{
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Launch index.js",
"program": "./index.js",
"console": "integratedTerminal"
}
]
}
Python 调试要小心 justMyCode 和 cwd
Python 脚本在终端能跑,但在 VS Code 里断点不触发、变量看不到,往往是 "justMyCode": true(默认值)把你的代码当成了“第三方库”,或者 "cwd" 没设对导致模块导入失败、路径错误。
实操建议:
-
"justMyCode": false可临时打开,确认是不是被过滤了;调试稳定后建议改回true避免进标准库源码 -
"cwd"必须设为项目根目录(如"${workspaceFolder}"),否则import会找不到包,open("data.txt")也会读错位置 - 如果用了虚拟环境,确保
"python.defaultInterpreterPath"在settings.json里已正确指向venv/bin/python或venv\Scripts\python.exe
调试器启动失败时先看 type 和 adapter 是否匹配
报错信息像 "Could not find debug adapter for type 'node' 或 "The 'python' debug adapter is not available",本质是 VS Code 没装对应调试插件,或者 "type" 写错了(比如写成 "Node" 或 "python3" 而不是 "pwa-node" / "python")。
实操建议:
-
"type"值必须和已安装的调试扩展严格一致:Node.js 用"pwa-node"(推荐),旧版可用"node";Python 必须是"python" - 检查扩展面板是否安装了官方插件:@ms-vscode.node-debug2(已弃用)、@ms-vscode.js-debug(新默认)、ms-python.python
- Windows 下路径含空格时,
"runtimeExecutable"等字段要用双反斜杠或正斜杠,避免转义出错
configuration 都满足最小必要条件:类型对、入口明、上下文清。漏掉一个 "program" 或拼错一个 "pwa-node",调试就卡在起点。











