Code Spell Checker装完不标红,90%因插件未真正启用或语言模式错误;需确认右下角显示“Spell”图标、文件语言为javascriptreact等有效ID,并配置cSpell.language为["en","zh"]及.cspell.json精准过滤。

Code Spell Checker 装完不标红,90% 是“看似启用、实则静默”——它不会弹窗提醒你配错了,只会安静地失效。
右下角没 Spell 图标?插件根本没激活
打开任意 .js 或 .md 文件,看 VSCode 窗口右下角状态栏有没有出现「Spell」图标或语言标识(如 en);没有就说明插件压根没跑起来。不是“已安装”,而是必须确认右下角显示「已启用」。进扩展面板搜 Code Spell Checker,别只看有没有勾选安装,重点看启用状态。
文件语言模式错一个,字符串全不查
拼写检查严重依赖语言 ID:JSX 中的文本、Vue/TSX 模板字符串、console.log("succes") 里的错词,全靠正确语言模式触发。常见陷阱:
- 右下角点语言标识,把
JavaScript错设成Plain Text或未识别类型 -
.vue文件没手动设为Vue,.astro没设成Astro - 在命令面板按
Ctrl+Shift+P运行Change Language Mode,确认当前是javascriptreact而非javascript - 检查
cSpell.enabledLanguageIds设置,确保包含typescript、javascriptreact等实际用到的语言 ID
cSpell.language 必须显式写 ["en", "zh"],不能只写 "en"
中文注释、多语言字符串要被检查,cSpell.language 就不能只留默认的 "en"。打开 settings.json,确认有这行:
"cSpell.language": ["en", "zh"]
注意:"zh" 不是可选项,是必填项;逗号后别加空格;别用 cSpell.enabled: false 临时关掉又忘了删——这是本地排查后重启仍失效的最常见原因。
误报太多?别全局关,用 .cspell.json 精准过滤
把 NODE_ENV、user_id、https://api.example.com 当错词标红,不是插件太蠢,是你没告诉它哪些该跳过。项目根目录建 .cspell.json,用正则精准控制:
{
"version": "0.2",
"language": "en",
"words": ["vite", "zod"],
"ignorePaths": ["dist/**", "node_modules/**"],
"patterns": [
{"name": "env-vars", "pattern": "\b[A-Z_]{3,}\b"},
{"name": "urls", "pattern": "https?://[\w./?=-]+"}
],
"ignoreRegExpList": ["env-vars", "urls"]
}
patterns + ignoreRegExpList 是关键组合——匹配到的整段内容(比如 process.env.NODE_ENV)直接跳过检查,比堆 words 列表更干净。
真正麻烦的不是配置本身,而是 VSCode 缓存语言服务上下文的方式:改完 settings.json 或切了语言模式,有时得关掉再重开工作区,字典才真正加载进来。这点容易被忽略,但直接影响你看到的是真实效果还是缓存假象。











