vscode弹出“请创建launch.json”是提示配置调试环境,核心问题有三:路径错误(program需指向真实可执行文件并用${workspacefolder}变量)、type/request混淆(launch需program、attach需port)、typescript sourcemap未正确配置(需sourcemap:true、outfiles、检查.map文件及sources路径)。

VSCode 弹出“请创建 launch.json”不是报错,是它在等你明确告诉它:你想怎么运行或调试当前代码。不配就点不了 F5,但配错会导致 Could not find program、断点不生效、connection refused 等问题——核心原因就三个:路径不对、type/request 混用、TypeScript 没配 sourcemap。
program 路径写错就直接失败
最常见的就是填了 "program": "src/index.js" 却没设 cwd,VSCode 默认从工作区根目录找,自然找不到。Windows 下还容易误用反斜杠 \,必须统一用正斜杠 /。
-
program必须指向一个真实存在的可执行文件(Node.js 项目是.js,C++ 是编译后的.exe或无后缀可执行文件) - 优先用变量:
${workspaceFolder}/dist/index.js,别硬写C:/project/dist/index.js - TypeScript 项目必须指向编译后的
.js,不是.ts;确认dist/index.js和dist/index.js.map都存在 - 运行前先终端里手动执行一遍
node dist/index.js,确保它真能跑通
type 和 request 搞混就挂不上
type 决定用哪个调试器(node、cppdbg、python),request 决定行为模式:launch 是 VSCode 自己拉起进程,attach 是连已运行的进程。两者不能互换。
将一个或多个视频上传至YouTube。当用户想“上传到YouTube”“发YouTube”“批量上传”“upload to YouTube”“post videos to YouTube”或发布到YouTube时使用此技能。
-
request: "launch"时,必须有program字段;漏掉就报 “No program specified” -
request: "attach"时,必须有port字段;如果 node 启动用了node --inspect-brk=9230 app.js,那port就得是9230,不是默认9229 - 多个配置共存时,
name别都叫 “Debug”,建议带环境和模式,比如"Launch (dev)"、"Attach to API (prod)" - 删掉不用的配置项,留太多容易点错,行为完全不可预期
TypeScript 断点打在 .ts 上却不停
这不是 VSCode 的问题,是 sourcemap 没对上。光开 sourceMaps: true 不够,VSCode 还得知道去哪找 .map 文件、以及 .map 里写的 sources 路径是否匹配你当前 workspace 结构。
-
outFiles必须显式列出输出 JS 文件路径,例如["${workspaceFolder}/dist/**/*.js"] - TS 编译选项中,关掉
inlineSourceMap,只开sourceMap;否则 map 内容被塞进.js末尾,VSCode 可能读不到 - 检查
dist/index.js.map是否真实存在,打开它看sources字段值是不是类似["../src/index.ts"],且该路径在 workspace 里能对应上 - 大型单体项目若
sources是绝对路径(如"/Users/xxx/project/src/index.ts"),得加resolveSourceMapLocations过滤掉node_modules等无关路径
最常被忽略的一点:launch.json 里的 version 字段必须是 "0.2.0",少一个点或写成字符串 "2.0" 都会静默失效;而 tasks.json 的 version 是 "2.0.0" —— 它俩版本号不通用,别抄串了。










