VSCode需插件组合与显式配置才能查JavaScript逻辑错误:ESLint仅检查词法作用域,Fitten Code负责跨函数数据流分析;其生效依赖VS Code≥v2.8.0、启用高级逻辑漏洞检测并完整重启;扫描需全函数/类,报告中“Confidence: LOW”提示需补业务约束而非删断点。

VSCode 本身不查 JavaScript 逻辑错误,靠插件组合 + 显式配置才能暴露真实问题——ESLint 只管变量定义和基础结构,Fitten Code 才能追踪跨函数的数据流和权限路径。
为什么 ESLint 标红了但没抓到 if 分支里的空指针?
因为 no-undef 和 no-unused-vars 不分析运行时值,只检查词法作用域。比如 user?.role === 'admin' 中的 user 即使为 null,ESLint 也默认它“存在”。
- 想捕获这类问题,得开 TypeScript 的
"strict": true并配strictNullChecks,让类型系统推导user可能为undefined - ESLint 的
eslint-plugin-react-hooks能发现useEffect里漏掉依赖项,但对api.deleteUser()是否该在else里执行完全沉默 - 如果项目没写 JSDoc @param {User} user,工具连
user长什么样都不知道,更别说判断role是否可为空
Fitten Code 扫描前必须确认的三件事
它不是装完就生效的 Linter,而是基于语义建模的检测器,配置错一点就全失效。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- VS Code 版本 ≥
v2.8.0,旧版缺失逻辑漏洞语义分析模块 - Settings 搜索
logic,勾选Enable advanced logic vulnerability detection—— 仅重载窗口不行,必须完整重启 VS Code - 右键菜单出现
Fitten Code – Find Logic Bugs后,只能对整个函数或类定义扫描;选中几行代码无效,它无法构建跨状态操作序列(如注册→登录→下单)
看到 “Confidence: LOW” 别删断点,先补约束
这不是误报提示,而是明确告诉你:工具已发现可疑路径(比如未验证邮箱就调用了 /v1/payment/confirm),但缺乏足够上下文确认是否真违规。
- 常见原因:项目没提供 OpenAPI spec、关键函数缺
@rule注释、README 里没写清“账户激活后才可交易” - 补救动作不是改代码,而是用 Fitten Code 的 AI 聊天框输入:“用户必须通过邮箱验证才能调用 /v1/payment/confirm”,再点重扫
- 报告里的
Trigger Path是可复现的操作链,不是假设——它已实际模拟了输入、状态变更和权限快照
调试器里变量显示 undefined?先看作用域和 this
这不是插件问题,是 JavaScript 执行模型的真实反映。
-
let/const变量在声明前访问会报ReferenceError,但调试器在断点处确实读不到——这是语言特性,不是插件 bug - 箭头函数里看不到
this变量面板,因为它继承自外层作用域;普通函数里this值取决于调用方式,不是固定对象 - 对象属性默认折叠成
[Object],点右侧小箭头展开即可;若想默认全展开,加配置"debug.inlineValues": true
真正难的从来不是“有没有插件”,而是把模糊的业务规则变成机器可读的约束。Fitten Code 的修复建议之所以能给出带 if (!user.EmailVerified) 的 guard clause,前提是它从你写的文档或对话里拿到了那句“邮箱验证是支付前提”。漏掉这一步,所有扫描都只是在猜。

















