vscode中“临时断点”实为内联断点,无默认清除快捷键;需通过命令debug: clear all inline breakpoints手动执行或自定义快捷键,且该命令不影响左侧常规断点。

VSCode 里“临时断点”其实叫“内联断点”,没有专用清除快捷键
VSCode 并不把 debugger 语句或手动打在代码行号左侧的红点统一归类为“临时断点”,它只区分两类:普通断点(Breakpoint)和内联断点(Inline Breakpoint)。而你常说的“临时打的、想一键清掉的”,大概率是后者——也就是你在某行末尾用 Ctrl+Shift+P → Debug: Toggle Inline Breakpoint 加上的那种小蓝点。这类断点不会出现在断点面板里,也没有全局清除命令。
所以别再搜“清除临时断点快捷键”了——它根本不存在。但有替代路径:
- 按
Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Debug: Clear All Inline Breakpoints,回车执行 - 这个命令默认没绑定快捷键,你可以手动加:打开
keybindings.json(Ctrl+K Ctrl+S→ 右上角图标 → “Open Keymap (JSON)”),添加:
[
{
"key": "ctrl+alt+shift+b",
"command": "debug.clearAllInlineBreakpoints"
}
]
注意:这个命令只清内联断点,不影响左侧 gutter 里的常规断点。
左侧 gutter 红点断点怎么批量关/删?别用“删除”误伤业务断点
如果你指的是编辑器左侧行号边上的红点(即常规断点),它们会显示在侧边栏 Run and Debug 面板的 BREAKPOINTS 区域。这里没有“一键物理删除所有”的快捷键,但有两个安全操作:
-
Ctrl+Shift+F9(macOSCmd+Shift+F9):停用所有断点(变成灰色圆圈),下次调试不会触发,但保留位置和条件 - 右键点击
BREAKPOINTS面板空白处 →Remove All Breakpoints:这才是真删,但会清空全部,包括你可能想留着的条件断点或日志点
容易踩的坑:Remove All Breakpoints 不区分来源,哪怕你刚在 node_modules 里临时加的调试断点,也会被一并干掉。建议先折叠 BREAKPOINTS 列表,手动勾选要删的项再右键 → Remove Selected Breakpoints。
想彻底避免“断点残留”,试试条件断点 + 自动禁用策略
很多所谓“临时断点”,本质是没想好要不要长期保留。与其反复删,不如让断点自己“到期作废”:
- 右键 gutter 红点 →
Edit Breakpoint→ 设置Hit Count(比如== 1),让它只触发一次就自动停用 - 加条件断点(
Condition)时写个明显标记,比如process.env.DEBUG_TEMP === 'true',调试完改环境变量就能全局屏蔽 - 用
debugger语句?加个注释开关更可控:// debugger; // [TEMP] remove before commit,配合插件TODO Highlight能高亮提醒
VSCode 的断点状态是工作区级持久化的(保存在 .vscode/settings.json 或 workspaceStorage 里),重启不丢。真正容易被忽略的是:内联断点和常规断点的生命周期完全独立,清理时必须分开处理,混着来大概率漏掉一半。











