f5调试需先配置.launch.json,选环境自动生成;ctrl+shift+f全局搜索优于ctrl+f;断点操作用f9/ctrl+f9/shift+f9;hover看值最轻量,“监视”面板支持实时求值。

调试启动用 F5,但必须先有 .vscode/launch.json
没配置就按 F5,VSCode 会弹窗让你“选择环境”,这不是报错,而是提示你缺调试入口。常见错误是直接点“取消”然后反复按 F5,结果什么也没发生。正确做法是选一个运行时(比如 Node.js 或 Python),它会自动生成基础 launch.json。如果你已有该文件但调试不触发,检查 configurations 数组里是否至少有一项的 request 是 "launch" 或 "attach",且 type 值与已安装的调试插件匹配(例如 "pwa-node" 需要 @vscode/js-debug 插件)。
Ctrl + Shift + F 和 Ctrl + F 在调试时容易混淆
调试中常想搜变量名或错误堆栈,但误用 Ctrl + F(当前文件内查找)会干扰断点位置感知;真正该用的是 Ctrl + Shift + F(全局搜索),尤其当你在多个文件间跳转调试时。另外,调试面板里自带“变量”“监视”“调用栈”视图,比文本搜索更可靠——比如想确认某个对象属性是否为 undefined,直接展开“变量”节点比搜代码快得多。
断点操作不是只靠鼠标:F9、Ctrl + F9、Shift + F9
高频动作必须脱离鼠标:F9 切换当前行断点;Ctrl + F9 启用/禁用所有断点(适合临时绕过一堆断点继续跑);Shift + F9 清空所有断点(比右键菜单快)。容易踩的坑是:在多文件项目中,误以为断点只对当前打开文件生效——其实只要文件被加载进调试上下文(比如被 require 或 import),断点就有效。另一个细节:launch.json 中设 "skipFiles": ["<node_internals>/**"]</node_internals> 能避免跳进 Node 内部源码,节省调试时间。
调试中快速查看表达式值,别总依赖 console.log
把光标停在变量名上,等几毫秒会浮现值提示(hover tooltip),这是最轻量的方式;更进一步,用“监视”面板添加表达式,比如 arr.length > 0 ? arr[0] : null,支持实时求值。注意:某些复杂表达式(如含副作用函数调用)可能无法安全求值,VSCode 会显示“Cannot evaluate expression”。这时候就得切回断点+逐步执行,而不是强行写表达式。











