鼠标悬停看变量最常用但易失效,需检查sourcemap、编译输出和代码优化;复杂对象用interactive window查看;watch面板可监控表达式;调试控制台支持实时修改与验证。

鼠标悬停看变量最常用,但失效时别急着重启
绝大多数时候,把光标停在 user.name、items.length 这类变量上,VSCode 会立刻弹出数据提示显示当前值——这是最快捷的查看方式。但它依赖 sourcemaps 和调试上下文准确加载,一旦失效,大概率不是插件坏了,而是以下三件事没对齐:
- 代码是否已编译(比如 TypeScript 未生成
.js和.map文件) -
launch.json中的sourceMaps设为true,且outFiles路径匹配实际输出目录 - 断点打在了被 JavaScript 引擎优化掉的代码段(如空循环、死代码),可临时加
debugger;强制中断或关掉optimize编译选项
复杂对象点不开?用「View Value in Interactive Window」替代展开
遇到 data 显示为 [Object]、[Array] 却无法点击展开,尤其在 Python 或处理 Pandas DataFrame、React state 等结构时,Variables 面板的默认渲染会直接放弃深层结构。这不是 bug,是 VSCode 主动限制了递归深度防止卡顿。
十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第
- 右键该变量 → 选择「View Value in Interactive Window」,它会在交互式窗口中调用
console.table()或专用渲染器,真正“打开”嵌套对象 - 对 JavaScript,也可在调试控制台输入
console.table(data)或JSON.stringify(data, null, 2)手动格式化 - Python 用户注意:如果
data是pd.DataFrame,仅靠 Variables 面板几乎看不到内容,必须走 Interactive Window 或在控制台执行data.head().to_dict()
想盯住某个表达式变化?别只靠 Variables 面板
Variables 面板只显示当前作用域的变量,而你真正关心的可能是 response.data.users[0].id 或 config.apiBase + '/v1/users' 这种跨层级、拼接后的值。这时 Watch 面板才是主力:
- 调试中按
⇧+⌘+D(macOS)或⇧+Ctrl+D(Win/Linux)打开「运行和调试」视图,点「监视」区域右上角的+号 - 输入表达式,例如
errors.filter(e => e.severity === 'error').length,它会在每次断点暂停时重新求值 - 支持右键变量名 → 「添加到监视」,避免手输错误;也支持拖拽重排顺序,把关键表达式置顶
- 注意:Watch 表达式不参与执行逻辑,但若误写有副作用的调用(如
localStorage.setItem()),可能悄悄改掉程序状态
调试控制台不只是看值,还能临时“打补丁”验证逻辑
调试控制台(Ctrl+Shift+Y)连接的是当前暂停帧的完整执行上下文,它比 console.log 更直接、比改代码再重跑更快:
- 输入
userId回车,直接看到值;输入userId = 123回车,就能让后续代码基于这个新值运行 - 适合快速验证分支逻辑:
if (status === 'pending') { /*...*/ }→ 在控制台输status = 'error',再按F5继续,看错误路径是否走通 - 支持命令历史(上下箭头),也支持
$_引用上次表达式结果,比如先输items.find(i => i.id === 5),再输$_?.name拿名字 - 风险提示:修改
this.state或 React 的响应式对象可能绕过更新机制,导致 UI 不刷新;修改全局配置(如API_BASE_URL)则可能影响后续所有请求
launch.json 的 cwd、program 和解释器路径是否和终端里 pwd、which python 输出一致,比反复刷新面板有效得多。









