确认红线由拼写检查引起需先看状态栏abc图标,再查运行中的code spell checker等扩展;关闭cspell.enabled最稳妥,注意工作区与语言专属配置覆盖,勿禁用problems.decorations.enabled以免隐藏真实错误。

怎么确认红线是拼写检查惹的祸
右下角状态栏出现 ABC 图标,基本就能断定是 Code Spell Checker 在干活;没这个图标,但仍有红线,得查 Spell Right、LTeX 或某些 Markdown 预览插件是否悄悄启用了拼写逻辑。按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Developer: Show Running Extensions,看 streetsidesoftware.code-spell-checker 是否在活跃列表里——VS Code 本身不带拼写检查,所有红线都来自扩展。
cSpell.enabled 设为 false 是最稳的关法
打开设置(Ctrl+, 或 Cmd+,),搜 cSpell.enabled,把它设为 false。这是直接切断检查逻辑的开关,比禁用整个插件更轻量,也避免影响团队共用环境。
- 如果改完没立即生效,手动执行
Developer: Reload Window,防止语言服务缓存旧配置 - 工作区级
.vscode/settings.json可能覆盖全局设置,记得一并检查 - 语言专属配置比如
"[typescript]": { "cSpell.enabled": true }会重新打开它,得同步清理
别碰 problems.decorations.enabled
这个选项一关,TypeScript 类型错误、ESLint 的 console.lgo、C++ 头文件找不到……所有真实诊断波浪线全消失。表面清爽,实际等于蒙眼写代码。真正该留着的是:javascript.validate.enable、eslint.enable、typescript.preferences.includePackageJsonAutoImports——它们管逻辑安全,拼写检查只管“看起来专业”。
只想过滤中文注释?用 ignoreRegExpList
保留对 README.md 英文的检查,但跳过代码里的中文干扰,可以加这条规则:
"cSpell.ignoreRegExpList": ["//.*", "/\*[^]*?\*/", "#.*"]
注意正则写法:\* 要双反斜杠转义,漏掉一个就失效;还要确认当前文件语言 ID 是 typescript 或 javascript,不是 plaintext——后者容易被插件误判为纯文本,触发全量误检。
复杂点在于:插件优先级高于设置,企业策略可能强制启用,这时候就得找管理员了。事情说清了就结束。











