Code Spell Checker装完不标红,主因是插件未启用、语言模式错误或中文配置不全:需确认右下角有Spell图标,cSpell.language设为["en","zh-CN"],启用cSpell.allowCompoundWords,并安装官方cspell-dict-chinese扩展。

Code Spell Checker 插件装完不标红,基本不是插件问题,而是语言模式没对上、配置没生效、或中文支持根本没配全——它不会报错,只会沉默失效。
右下角没 Spell 图标?插件压根没激活
这是最常被忽略的第一步。插件安装 ≠ 启用 ≠ 生效。
- 打开任意
.ts或.md文件,看右下角状态栏有没有 Spell 图标或语言代码(如en);没有就说明插件根本没加载到当前上下文 - 进扩展面板搜
Code Spell Checker,确认右下角显示的是「已启用」,不是「已安装」 - 按
Cmd+Shift+P(Mac)或Ctrl+Shift+P(Win/Linux),输入Spell Checker: Toggle回车,强制开关一次,有时能触发重载 - 检查
settings.json里有没有误加"cSpell.enabled": false—— 这个全局禁用项一旦存在,其他所有配置都白搭
cSpell.language 配成 ["en", "zh-CN"] 才能真正查中文
只写 "zh" 或 "zh-cn"(小写)不行,"zh-CN" 是唯一稳定识别简体复合词的语言标识,且必须搭配 cSpell.allowCompoundWords: true。
-
cSpell.language必须是数组形式:["en", "zh-CN"],不能是字符串"en, zh-CN"(旧版兼容但不稳定) -
cSpell.allowCompoundWords必须设为true,否则useStore会被拆成use和store,两个都报错 - 必须安装官方
cspell-dict-chinese扩展(作者 streetsidesoftware),第三方“Chinese Spell Checker”不兼容 - 如果中文注释仍整段标红,大概率是插件没读到
zh-CN对应的词典,此时打开开发者工具(Developer: Toggle Developer Tools),在 Console 里搜cSpell看有没有加载失败日志
字符串不标红?语言模式和 scope 解析错了
拼写检查依赖 VSCode 的语法高亮(TextMate grammar)来定位字符串、注释等文本范围。语法解析失败,就找不到检查目标。
- 右下角点击语言标识,确认当前是
TypeScript React而不是TypeScript;JSX 中的双引号字符串、模板字面量全靠这个识别 -
.vue文件需用 Volar(非 Vetur),否则<template></template>内容无法提取出可检查的文本 scope - 检查
files.associations是否错误地把*.ts映射成了plaintext,这种配置会让插件直接跳过整个文件 - 临时验证:在文件顶部加一行
// spell-checker: disable,保存后再删掉——如果这时突然开始标红,说明之前被某处配置静默禁用了
CI/CD 里拼写检查失败?别指望插件,用 cspell CLI
VSCode 插件是 GUI 进程,CI 环境里没有语言服务、没有文档上下文,插件完全起不来。必须换命令行工具。
- 本地先跑通:
npx cspell "**/*.{ts,js,md}",确保和 VSCode 中看到的报错一致 -
cspell和插件共享同一套配置,优先读取项目根目录的.cspell.json,不是settings.json - CI 脚本里不要调
code --install-extension,那是编辑器行为,毫无意义;直接npm install -D cspell然后执行命令即可 - 常见坑:
cspell默认不递归检查子目录,要用**/*通配符,且注意 shell 是否支持(必要时加引号)
真正难的不是配出一个能标红的环境,而是让标红结果可信:既不漏掉 recieve 这种硬错,也不把 user_id、NODE_ENV、zustand 当错词狂标——这得靠 .cspell.json 里的 words、ignorePaths 和正则 patterns 一层层收口,而不是靠反复开关插件。











