中文拼写检查不生效需装cspell中文词典扩展并配置enabledlanguageids;仅设language无效,必须安装streetsidesoftware官方扩展、重启vscode,并在cspell.json中显式启用chinese词典和html等语言id。

中文拼写检查不生效?先确认是否装了中文词典
Code Spell Checker 默认不带中文词典,只开 cSpell.language 为 "zh" 或 "zh-CN" 是没用的——它会安静地跳过所有中文文本。必须额外安装官方维护的 CSpell Chinese Dictionary 扩展,否则连“欢迎”写成“换迎”都不会标红。
安装方式:打开扩展面板(Cmd+Shift+X 或 Ctrl+Shift+X),搜 cspell-dict-chinese,认准作者是 streetsidesoftware 的那个,装完重启 VSCode。
- 装错扩展(比如第三方非官方“Chinese Spell Checker”)会导致中文检测不稳定或完全失效
- macOS 和 Windows 下词典路径不同,但插件自动处理,不用手动指定
- 重启后可在任意
.js或.md文件里写几个中文词测试,比如“函书”→ 应标红,“函数”→ 不标红
cspell.json 和 settings.json 哪个该配中文?
优先在项目根目录建 cspell.json,而不是只改用户级 settings.json。因为中文术语(如“鉴权”“幂等”“灰度”)往往和项目强绑定,全局设置会污染其他项目。
一个最小可用的 cspell.json 示例:
{
"version": "0.2",
"language": "zh-CN",
"dictionaries": ["chinese"],
"words": ["vitepress", "pinia", "鉴权"],
"ignorePaths": ["node_modules/**", "dist/**"]
}
-
dictionaries字段必须显式包含"chinese",仅靠language不够 - 如果同时要检查中英文混合内容(比如注释里夹英文变量名),
language设为["zh-CN", "en"]即可,无需额外配置 - VSCode 会自动读取项目根目录下的
cspell.json,不需要在settings.json里再声明路径
为什么“TypeScript”被标红,但“React”没被标?
这是词典覆盖范围差异导致的:CSpell 中文词典主要覆盖常用汉语词汇和基础技术名词,但对英文专有名词(尤其是大小写敏感的驼峰词)识别依赖英文词典。如果你开了 "en" 语言但没装英文词典扩展(默认已含),或 cSpell.checkCamelCase 关着,就容易漏判。
- 确保
cSpell.checkCamelCase设为true,否则useEffect这类词不会被拆解校验 - 右键标红词 → “Add Word to Workspace Dictionary” 是最快补救方式,比查词典快
- 误标“GraphQL”这类词,不是词典问题,而是插件把大写字母当分隔符切错了;加进工作区词典即可一劳永逸
HTML 标签内中文不检查?检查 enabledLanguageIds
默认情况下,Code Spell Checker 不检查 HTML 文件中的文本节点(比如 <p>欢迎使用</p> 里的“欢迎使用”),因为 html 不在默认启用的语言 ID 列表里。
解决方法很简单,在 .vscode/settings.json 或 cspell.json 中加上:
"cSpell.enabledLanguageIds": ["plaintext", "markdown", "javascript", "typescript", "html", "python"]
- 这个配置是白名单机制,不在列表里的语言类型一律不检查
-
plaintext覆盖纯文本文件,markdown覆盖.md,html才真正激活 HTML 内联文本检查 - 别漏掉
vue或jsx—— 如果你写 Vue 单文件组件或 JSX,得单独加上
enabledLanguageIds 这两项。其余配置改错顶多少标几个词,这两项缺一不可,否则中文拼写检查根本启动不了。











