F5调试前需确保存在.launch.json文件,否则VSCode仅提示“没有配置的环境”;推荐用Ctrl+Shift+P执行Debug: Open Configuration生成模板,TypeScript项目须启用sourceMap才能使断点生效。

F5 启动调试,但别急着按——先确认 launch.json 是否存在
VSCode 的调试不是开箱即用的。按下 F5 时,它会尝试读取当前工作区根目录下的 .vscode/launch.json。如果文件不存在,VSCode 会弹出“没有配置的环境”提示,而不是直接报错或 fallback 到默认执行。
- 首次调试前,推荐用
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Debug: Open Configuration自动生成模板 - Node.js、Python、Go 等语言插件会提供对应预设;但 TypeScript 项目若未启用
sourceMap,断点可能不生效 - 没有
launch.json时,F5会退而求其次尝试运行当前文件(如 Python 的python file.py),但该行为不可靠,且不支持断点
打断点、单步执行、查看变量:核心三键不可替
调试过程中真正影响效率的不是启动,而是控制流和状态观察。以下三个快捷键组合在绝大多数语言插件中保持一致:
-
F9:在当前行切换断点(注意:光标必须在有效代码行,空行或注释行无效) -
F10:Step Over(跳过函数调用,不进入内部) -
F11:Step Into(进入函数体;若函数来自库且无 source map,会跳过)
补充说明:Shift+F11 是 Step Out(跳出当前函数),Ctrl+Shift+F5 是 Restart(重启调试会话),比手动停止再 F5 更快。
调试面板里容易被忽略的快捷操作
调试侧边栏(Variables、Watch、Call Stack)本身也支持键盘操作,但文档极少提及:
- 聚焦到
Variables面板后,按Enter可展开/折叠对象属性(无需鼠标点击三角图标) - 在
Watch区域,Ctrl+Space(Windows/Linux)或Cmd+Space(macOS)触发表达式自动补全(依赖语言服务器) -
Ctrl+K Ctrl+I(Windows/Linux)或Cmd+K Cmd+I(macOS)可在调试中快速打开“调试控制台”,直接执行 JS 表达式或 Python 命令
终端与调试共存时的焦点陷阱
很多开发者在调试时顺手按 Ctrl+` 打开集成终端,结果发现 F5 或 F10 失效——这是因为焦点已从编辑器转移到终端,快捷键被终端捕获。
- 确认焦点是否在编辑器:看顶部标签页是否有蓝色下划线,或按
Esc强制退出终端输入模式 - 更稳妥的做法是用
Ctrl+Shift+P→ 输入View: Toggle Integrated Terminal来开关终端,避免焦点丢失 - 调试期间建议关闭自动聚焦终端的设置:
terminal.integrated.automationShell.linux(或其他平台)设为null,防止脚本输出意外抢走焦点
调试快捷键真正起作用的前提,是调试器已 attach 上进程。如果看到“Paused on exception”却无法操作,大概率是调试器卡在异常处理阶段,此时 Ctrl+Shift+F5 比强制杀进程更安全。


















