ctrl+shift+f9(windows/linux)或cmd+shift+f9(macos)可一键清除当前调试会话中所有已注册断点,包括源码断点、条件断点和日志断点,但仅对当前激活的launch配置生效;若需彻底清理,应通过“运行和调试”视图的breakpoints面板选择“remove all breakpoints”,或检查插件缓存配置。

直接按 Ctrl+Shift+F9(Windows/Linux)或 Cmd+Shift+F9(macOS)就能一键清除当前调试会话里的所有断点。 这个快捷键不区分语言、不依赖配置,只要调试器已加载(比如 Python、Node.js、C++ 等),它就生效。
为什么不是“删除所有红点”那么简单
VS Code 的断点分两类:一类是编辑器左侧边栏手动点出来的“源码断点”,另一类是通过 launch.json 或插件动态注入的“条件断点”“日志断点”(?)。Ctrl+Shift+F9 清的是前者 + 当前调试配置下已注册的所有断点;但如果你在多个 workspace 或不同 launch 配置里设过断点,它们可能不会被一并清掉——因为断点状态是按调试会话隔离存储的。
- 只对当前激活的调试配置生效,切换
launch.json中的name后再运行,旧断点可能还在 - Logpoint(菱形断点)和条件断点(带
Expression的红点)也会被清,但它们的设置逻辑仍保留在断点面板历史中(右键断点 → “Edit Breakpoint” 可恢复) - 如果调试器没启动过(比如还没点 F5),
Ctrl+Shift+F9会静默失败,无提示 —— 此时得先点一次“运行和调试”再试
断点面板里手动全删更可控
打开左侧“运行和调试”视图(Ctrl+Shift+D),展开下方的 Breakpoints 面板。这里列出所有已启用/禁用的断点,包括文件路径和行号。右键空白处,会出现 Remove All Breakpoints 选项 —— 这比快捷键更明确,也避免误操作。
- 该操作清的是当前 workspace 下所有已注册断点,不管是否启用
- 禁用的断点(灰色圆点)也会被删,不是只清红色的
- 如果用了多根文件夹 workspace,这个操作只影响当前聚焦的文件夹,其他文件夹里的断点不受影响
重启 VS Code 后断点还在?那是配置残留
断点本身不存于配置文件,但某些调试插件(如 ms-python.python)会在 .vscode/settings.json 或 ~/.vscode/extensions/... 里缓存断点偏好。如果你发现每次重启都自动恢复断点,大概率是插件在读取本地缓存。
- 检查
.vscode/settings.json是否有类似"python.debugging.breakpointPersistence"的字段(Python 插件特有) - 临时禁用相关调试插件,再测试
Ctrl+Shift+F9是否彻底清空 - 极少数情况需删
%APPDATA%\Code\User\workspaceStorage\...下对应 workspace 的缓存目录(不推荐日常操作)
真正干净的断点清理,靠的不是“点一下全没了”,而是理解断点归属哪次调试会话、哪个 workspace、哪个插件。多数人卡在“删了又出来”,其实是没意识到断点状态和调试器生命周期绑定,而不是和文件强关联。











