Code Spell Checker 默认不检查变量名,因其设计上仅校验注释、字符串和普通文本,避免将合法缩写(如usr、cfg)误判为拼写错误。

Code Spell Checker 默认不检查变量名,这不是插件坏了,是它故意这么设计的——因为 usr、init、cfg 这类缩写在代码里合法且常见,插件无法判断你是不是“真拼错了”,所以默认只查注释、字符串和普通文本。
为什么变量名不标红?先确认这三件事
插件对变量名“沉默”通常不是配置问题,而是机制限制或识别失败:
- 检查当前文件语言模式是否正确:右下角点开语言标识(比如显示
Plain Text或JavaScript),Vue 文件要设为Vue,JSX 文件得是JavaScript React,否则语法高亮失效 → 插件找不到作用范围 - 确认
cSpell.enabledLanguageIds设置里包含当前语言 ID,例如:["javascript", "typescript", "javascriptreact"];漏掉javascriptreact就会导致 JSX 中的字符串不被检查 - 看有没有误配
cSpell.ignorePaths,比如把整个项目根目录写成"./**",结果所有文件都被跳过
想检查变量名?必须开严格模式 + 白名单兜底
启用 cSpell.checkCamelCase 后,插件会尝试拆分 userName 为 user 和 Name 分别校验,但这也带来大量误报(比如 useState 拆成 use 和 State,use 在词典里,State 却可能被标红)。
- 务必同步配置
cSpell.words或.cspell.json,把项目中所有合法驼峰词加进去:["useState", "useEffect", "zustand", "vitepress"] - 别单独加
user和name到词典,否则username(无大写)也会被放过,失去检查意义 - 关闭
cSpell.allowCompoundWords,避免把连在一起的错误词(如initalize)当成一个合法复合词放过
CI/CD 里跑不起来?别依赖插件 UI
VSCode 插件只在编辑器里生效,CI 流水线里必须用 CLI 工具 cspell,且配置必须落在项目内文件中,不能靠用户级 settings.json。
- 安装命令:
npm install --save-dev cspell - 配置必须放项目根目录的
.cspell.json,内容至少含:{"version": "0.2", "language": "en", "words": ["your", "project", "terms"]} - CI 脚本里执行:
npx cspell --no-progress "**/*.{js,ts,md}";加--quiet可抑制非错误输出 - 如果 CI 报
conosle错误却不报console,说明词典没加载或路径匹配失败——检查cspell版本是否 ≥ 6.15(旧版对驼峰支持弱)
真正难的不是打开开关,而是平衡:开太松,满屏误报;开太紧,漏掉 environemnt 这种经典错词。白名单得常更新,.cspell.json 必须提交进 Git,不然新人 clone 下来第一行代码就拼错,没人知道。


















