Code Spell Checker 默认不检查中文,因中文无空格分词且不适用“拼写”概念;标红是因插件将整段中文误作英文单词查词典。需同时配置cSpell.language为["en","zh-CN"]、启用cSpell.allowCompoundWords、安装官方cspell-dict-chinese扩展,并确保插件激活及项目级.cspell.json配置生效。

Code Spell Checker 默认不检查中文,也不自动识别驼峰命名中的合法词——它不是“装上就灵”,而是“配对才准”。
为什么中文注释总被标红?
插件把整个中文字符串(如用户名)当做一个英文单词去查词典,自然找不到匹配项。真正起作用的配置有三个:cSpell.language、cSpell.allowCompoundWords 和中文词典扩展。
-
cSpell.language必须显式设为["en", "zh-CN"](zh效果弱,zh-CN才能更好切分简体复合词) -
cSpell.allowCompoundWords必须设为true,否则useStore会被拆成use和store,两个都报错 - 必须安装官方
cspell-dict-chinese扩展(不是第三方“Chinese Spell Checker”),否则zh-CN语言只是空转
如何让变量名不误报,但字符串仍检查?
默认行为是只检查字符串和注释,不查变量名——但如果你发现 const recieveData = ... 没被标红,那大概率是 cSpell.checkIdentifiers 被意外打开了,或者文件语言模式错了。
- 确认
cSpell.checkIdentifiers是false(这是默认值,别手动改) - 右下角点语言标识,确保当前是
TypeScript React而不是TypeScript或Plain Text;Vue/TSX 中的模板字符串依赖这个模式识别 - 若仍想查变量名(极不推荐),加
"cSpell.checkProgrammaticTypes": true,但务必同步在.cspell.json的words字段里补全所有技术词,比如["zustand", "vitepress", "tsconfig"]
为什么改了 settings.json 还不生效?
常见静默失效原因不是配置写错,而是插件根本没加载到上下文。最该先看的是右下角状态栏:
- 打开一个
.ts文件,右下角有没有出现Spell图标或语言代码(如en)?没有就说明插件未激活 - 进扩展面板搜
Code Spell Checker,右下角显示的是「已启用」,不是「已安装」 - 按
Cmd+Shift+P输入Spell Checker: Toggle回车,强制开关一次,有时能触发重载 - 检查有没有误加
"cSpell.enabled": false—— 这个全局禁用项一旦存在,其他所有配置都无效
CI/CD 里怎么让拼写检查跑起来?
VSCode 插件在 CI 环境里完全不可用。你得用 CLI 工具 cspell,它和插件共享同一套配置,但独立运行。
- 本地验证命令:
npx cspell --no-progress "**/*.{js,ts,md,txt}" - CI 脚本中直接调用
cspell,它会自动读取项目根目录的.cspell.json或cspell.json - 注意:CLI 不读 VSCode 的
settings.json,所有关键配置(如language、words、ignorePaths)必须写在项目级 JSON 文件里
用户名 就永远是红色。


















