VS Code调试需同时满足三条件:装对语言扩展、选准解释器/浏览器、配置正确launch.json;缺一即导致F5无效、断点灰显或连接失败。

VS Code 里 Debugger 不是“装一个就行”
VS Code 自身不带任何语言的调试能力,所谓“安装 Debugger”,本质是按语言选对扩展 + 配置好 launch.json。装错扩展、漏配环境、或用了已弃用的插件(比如旧版 Debugger for Chrome),都会导致 F5 按下去没反应、断点灰掉、或报 Cannot connect to runtime process 这类错误。
Python 调试:必须装 Python 扩展,不是只装 debugger
只装 Python Debugger 插件没用,它依赖官方 Python 扩展提供完整支持(包括解释器选择、linter、Jupyter 等)。装错顺序或漏装会导致 launch.json 生成失败、Python: Select Interpreter 命令不可用。
- 打开扩展面板(
Ctrl+Shift+X),搜Python,安装 Microsoft 官方那个(ID 是ms-python.python) - 装完后按
Ctrl+Shift+P→ 输入Python: Select Interpreter→ 选中你项目用的 Python 环境(如conda env或venv) - 再按
Ctrl+Shift+P→Debug: Open launch.json→ 选Python,VS Code 才会生成可用的配置模板 - 如果
launch.json里pythonPath字段还存在,说明你用的是老模板,删掉它,改用console和justMyCode等新字段
前端 JS/TS 调试:别再用 Debugger for Chrome
截至 2026 年,Debugger for Chrome 已被标记为 legacy(遗留),官方推荐启用内置的 JavaScript Debugger (Nightly),否则会出现断点失效、source map 不映射、或 ERR_CONNECTION_REFUSED 等问题。
- 在扩展面板搜
@builtin @id:ms-vscode.js-debug,找到内置调试器并禁用它 - 再搜
JavaScript Debugger (Nightly)(ID:ms-vscode.js-debug-nightly),安装并重启 VS Code - 不用额外装
Debugger for Chrome,也不用手动指定runtimeExecutable路径 —— 内置调试器自动识别系统 Chrome / Edge / Firefox - 配置
launch.json时,type仍写"chrome"或"pwa-chrome",但底层已走新协议;若用本地 HTML 文件调试,优先用file://协议 +"request": "launch"+"file"字段,避免 HTTP 服务缺失问题
launch.json 配置错一个字段,调试就启动不了
launch.json 不是“有就行”,字段名大小写、缩进、路径变量写法都敏感。常见报错如 Invalid or unexpected token(JSON 语法错)、webRoot is required(缺 webRoot)、url must start with http:// or https://(url 写成 localhost:3000 没加协议)。
-
webRoot必须指向源码根目录,常用"${workspaceFolder}";若用 webpack 构建,需配sourceMapPathOverrides映射路径 - 启动本地服务(如
npm start)和 VS Code 调试是两件事:先确保服务已跑在http://localhost:3000,再在launch.json里填对应url;不要指望 VS Code 自动帮你起服务 - Windows 下路径含空格(如
C:\Program Files\...)必须用双反斜杠或正斜杠,且runtimeExecutable字段现在基本不用了 —— 新版调试器自动找浏览器 - 配置完别忘了保存
launch.json,且文件必须放在项目根目录下的.vscode/文件夹里
最常被忽略的一点:调试器是否真正连接到运行进程,取决于三件事——扩展装对、解释器/浏览器选对、launch.json 字段值写对。少一个,F5 就只是个快捷键。


















