launch.json不该手写,必须通过VSCode齿轮图标自动生成,否则易遗漏env、cwd、preLaunchTask等关键字段;configurations数组不能为空或缺失,且每项须含type、request、name三字段,program和console对Node.js调试为必填。

launch.json 不该手写,必须通过 VSCode 的 ⚙️ 图标自动生成——手动填容易漏掉 env、cwd、preLaunchTask 等关键字段,导致断点不触发、路径报错或模块找不到。
为什么 launch.json 一配就报 “No configuration”?
VS Code 启动调试时没反应,或直接提示“无法找到有效的启动配置”,大概率是 configurations 字段为空数组或根本没写。这个字段不是可选的,哪怕只跑一个脚本也得有完整对象。
-
configurations必须是数组,且至少含一个对象;[]或{}都无效 - 每个配置必须包含
type、request、name三个字段,缺一不可 - 常见误操作:复制别人配置后删掉了整个
configurations块,只剩空文件或裸{} - 检查路径:
.vscode/launch.json必须真实存在,且在项目根目录下
Node.js 调试必填 program 和 console
用 type: "node" 调试时,program 指向入口文件(如 "./index.js"),缺了它 VS Code 根本不知道从哪开始跑;而 console 设为 "integratedTerminal" 才能正常看到 console.log 输出——设成 "internalConsole" 会导致日志不显示或断点失效。
-
program必须是相对路径(相对于工作区根目录),不能是绝对路径,也不能不加引号写index.js - TypeScript 项目要用
type: "pwa-node",program指向编译后的.js文件,不是.ts - 用
ts-node直接跑.ts,得设runtimeExecutable为"./node_modules/.bin/ts-node" - Windows 下路径统一用正斜杠
/,别用反斜杠\
Python 调试卡在 import 失败或断点不命中?
脚本在终端能跑,但在 VS Code 里断点不触发、变量看不到,往往是 justMyCode 把你的代码当成了第三方库,或者 cwd 没设对导致模块导入失败、open("data.txt") 读错位置。
-
justMyCode默认为true,调试时可临时设为false确认是否被过滤;稳定后建议改回true -
cwd必须设为项目根目录,比如"${workspaceFolder}",否则import会找不到包 - 虚拟环境没生效?先确认右下角 Python 解释器路径是否指向
venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - 模块导入失败时,优先在
launch.json加"env": {"PYTHONPATH": "${workspaceFolder}/src"},别硬改sys.path
断点变空心圆、F5 后直接跑完?查 sourcemap 和 -g 编译
断点悬停显示 undefined、F5 后程序飞速执行完——不是编辑器坏了,而是调试链路脱节。按语言快速定位:
- TypeScript/JS:确认
sourceMaps: true+outFiles: ["${workspaceFolder}/dist/**/*.js"],并检查dist/index.js.map是否存在、sources字段是否指向你 workspace 里的.ts路径 - C/C++:90% 是编译没加
-g。检查tasks.json的args是否含"-g";若用 CMake,确保set(CMAKE_BUILD_TYPE Debug) - Python:右下角确认解释器路径是否为虚拟环境内的
python;模块导入失败时,优先在launch.json加"env": {"PYTHONPATH": "${workspaceFolder}/src"}
最常被忽略的是:没装对应语言的官方调试扩展(比如 Go 调试要装官方 Go 扩展,不是 “Debugger for Go”),或者扩展已禁用、当前工作区没识别出语言上下文(比如没打开 .py 文件就去点齿轮图标)。


















