VSCode调试控制台是与当前调试上下文深度绑定的交互式执行环境,支持在断点暂停时直接求值当前作用域表达式、使用$开头的调试命令、联动条件断点日志、切换多会话Console。

VSCode 的调试控制台(Debug Console)不只是看 console.log 输出的地方,它是一个可交互的、与当前调试上下文深度绑定的实时执行环境。用好它,能大幅缩短定位问题的时间。
直接执行当前作用域代码
在断点暂停时,Debug Console 中输入的 JavaScript/TypeScript 表达式会自动在**当前堆栈帧的作用域内求值**——变量、函数、this、闭包都可用,无需手动展开作用域面板。
- 输入
user.name直接读取局部变量user的属性(不用先在 Variables 面板里找) - 调用
calculateTotal(items)测试逻辑,甚至修改参数再试一次 - 写
this.state查看 React 组件当前状态(在类组件断点中) - 注意:不能声明新变量(如
let x = 5),但可以赋值已有变量(count = 10)
使用调试专用命令和快捷变量
VSCode 内置了一些以 $ 开头的便捷命令和变量,专为调试场景设计:
-
$0–$4:保存最近 5 次在“调试控制台”或“浏览器开发者工具”中选中的 DOM 元素(适用于网页调试) -
$repl:强制将下一行当作普通 JS 执行(绕过某些表达式限制,比如带await的语句) -
debugger;可以动态插入并触发断点(需配合启用“停用所有断点”后再手动启用) - 输入
.help查看所有支持的命令列表(部分 Node.js 调试器还支持.inspect、.clear等)
结合条件断点与 Console 日志联动
不必只靠 console.log 打点,Debug Console 可与断点协同工作:
- 右键断点 → “编辑断点” → 设置“条件”(如
items.length > 10)或“日志消息”(如“items count: ${items.length}”) - 勾选“仅日志”,断点不暂停,但消息直接输出到 Debug Console(比插
console.log更干净) - 在日志消息中用
${}插入表达式,支持任意可求值内容(${user?.email || 'anonymous'})
切换不同调试会话的 Console
当同时调试多个进程(如前端 + 后端 + worker),Debug Console 默认绑定到**当前激活的调试会话**:
- 顶部调试工具栏右侧有下拉菜单,可快速切换目标(如 “client: Chrome” / “server: Node”)
- 每个会话的 Console 是隔离的,变量和历史记录互不影响
- 按 Ctrl+Shift+Y(Windows/Linux)或 Cmd+Shift+Y(macOS)可聚焦到当前 Debug Console
- 想清空某次会话的历史?右键 Console 区域 → “Clear Console”(不会影响其他会话)
基本上就这些。Debug Console 不是只读窗口,而是你调试时最顺手的“副驾驶”。多敲几行、多试几次,很快就能形成肌肉记忆。










