ctrl+shift+f搜不到关键字段需先关闭match case;f12跳转失败时用alt+f12验证类型信息是否就绪;prelaunchtask不生效主因是tasks.json中label与launch.json引用值未严格一致。

Ctrl+Shift+F 搜不到关键字段?关掉 Match Case 是第一反应
报错里写着 Cannot read property 'data' of undefined,你复制 data 去全局搜,结果满屏都是 DataService、DATA_CONFIG——默认开启的 Match Case(大小写敏感)直接把你带偏。点搜索框右上角的 Aa 图标关掉它,再搜 data,立刻聚焦到所有小写的 .data 访问点。
更精准的做法是:
• 加引号搜 ".data",排除变量名干扰
• 搜 data? 快速定位可选链位置
• 搜 null 或 undefined 时,务必在 files to include 里填 src/**/*.{ts,js},避开 node_modules 的噪音
F12 跳转定义失败?先用 Alt+F12 验证类型信息是否就绪
光标停在 fetchUser() 上按 F12 没反应,别急着重装插件。先试 Alt+F12:它只预览定义,不跳转,也不依赖语言服务器完全加载。如果弹出内容,说明类型信息基本可用,F12 失败大概率是路径问题——比如 jsconfig.json 没配 "include",或 mock/ 目录被 .gitignore 误屏蔽导致未纳入项目。
Alt+F12 是验证“是不是真没定义”的最快方式,比查日志快得多。
launch.json 里 preLaunchTask 不生效?检查 tasks.json 的 label 是否严格一致
C++ 或 Java 调试时设了 "preLaunchTask": "C/C++: g++ build active file",但调试前编译没跑?问题常出在 tasks.json 里的 label 字段——它必须和 launch.json 中引用的字符串**逐字符一致**,包括空格和冒号后空格。
常见陷阱:
• tasks.json 里写的是 "C/C++: g++ build active file "(末尾多一个空格)
• 插件自动生成的 label 含不可见 Unicode 字符
• 多个 task 共用相似 label,VSCode 匹配到第一个就停,未必是你想的那个
调试控制台输表达式报错?注意作用域和 this 绑定
断点停在类方法里,你在调试控制台输 this.userId 报 undefined,不是插件问题,而是当前执行上下文里 this 可能已被重绑定(比如箭头函数、事件回调、call/apply 场景)。这时直接输 userId(假设是局部变量)或 arguments[0] 更可靠。
另外:
• 控制台默认执行环境是当前堆栈帧,无法跨函数访问私有变量
• 输 console.log(...) 会触发副作用,可能改变程序状态
• 想看对象结构但输出被截断?输 JSON.stringify(obj, null, 2) 强制展开











