确认中文注释红线由 code spell checker 插件引起:悬停提示含“cspell”或“unknown word”,右下角有 abc 图标;若提示含“typescript:”等则非拼写问题。

怎么确认是哪个插件在画中文注释的红线
悬停在红线处,看提示前缀:出现 cSpell、Unknown word 或纯中文被标红,基本就是 streetsidesoftware.code-spell-checker 在干活;右下角状态栏有 ABC 图标,也说明它正在运行。如果提示带 typescript:、eslint: 或 IntelliSense,那就不是拼写问题——别关错开关。
为什么关了 cSpell.enabled 还有红线
常见原因不是配置没生效,而是优先级或缓存干扰:
- 工作区级
.vscode/settings.json里写了"cSpell.enabled": true,覆盖了全局设置 - 插件本身更新后自动启用了
cSpell.allowCompoundWords,对中文无效反而让分词更混乱 - 某些插件(如
VAssistX、LanguageTool)自带独立拼写逻辑,VS Code 原生配置不控制它们 - 文件语言 ID 错了(右下角显示
Plain Text而非javascript或python),导致插件根本没加载
如何快速定位并禁用干扰插件
按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Developer: Show Running Extensions,查看哪些插件处于活跃状态。重点关注:
-
Code Spell Checker(ID:streetsidesoftware.code-spell-checker)→ 直接禁用或卸载 -
Spell Right、LanguageTool、Markdown Spellcheck→ 若未写 Markdown,可禁用 - 某些 Vue/React 增强插件(如
Vetur、Volar)虽不主职拼写,但可能启用内建文本校验,需检查其文档是否含spellcheck类配置项
禁用后手动重载窗口(Ctrl+Shift+P → Developer: Reload Window),避免缓存残留。
别碰 problems.decorations.enabled 的真正原因
这个开关一关,所有波浪线全消失——包括 console.lgo 这种真实拼写错误、identifier 'xxx' is undefined 这类 C/C++ 类型误报、TypeScript 类型错误、ESLint 未定义变量……表面清爽,实则危险。真正该留着的是:
javascript.validate.enabletypescript.preferences.includePackageJsonAutoImportseslint.enable
它们负责逻辑安全;拼写检查只负责“看起来专业”。一个容易被忽略的点:改完配置后,务必悬停原红线位置,确认提示消失了,且真实错误仍能正常标黄或标红——事情说清了就结束。











