VSCode拼写检查波浪线不显示需三步排查:确认Code Spell Checker已启用;检查cSpell.enabledLanguageIds是否包含当前文件语言ID;验证.cspell.json词典配置正确且无排除路径冲突。

VSCode 拼写检查波浪线不显示?先确认拼写扩展已启用
VSCode 默认不带拼写检查,必须装扩展。最常用且维护活跃的是 Code Spell Checker(作者:Street Side Software)。装完后不会自动高亮——得手动触发语言模式识别或显式启用。
常见错误现象:Ctrl+Shift+P 打开命令面板,输入 Change Language Mode,选中当前文件类型(如 plaintext 或 markdown),但波浪线仍不出现。原因通常是该语言未被拼写检查器默认支持,或扩展配置里关掉了实时检查。
- 确保扩展已启用:在扩展视图搜
Code Spell Checker,右上角开关是蓝色(启用状态) - 检查当前文件是否被识别为支持的语言:看右下角状态栏,显示
Plain Text或Markdown等,而非Unsupported - 运行命令
Spell Check: Toggle Spell Checker(快捷键默认未绑定,需手动执行一次)
如何让拼写检查对 .md / .txt / .ts 文件都生效
扩展默认只检查部分语言,比如 markdown、plaintext、typescript 是开箱即用的,但 json、yaml、自定义后缀(如 .env)需要手动加进配置。
打开设置(Ctrl+,),搜索 cSpell.language,编辑 cSpell.language 配置项;或者直接修改 settings.json:
"code-spell-checker.language": [ "en", "zh" ], "cSpell.enabledLanguageIds": [ "markdown", "plaintext", "typescript", "javascript", "jsonc", "yaml" ]
注意:cSpell.enabledLanguageIds 是关键开关,漏掉某个 ID 就不会检查对应文件;jsonc 要写对,不是 json(VSCode 内部用 jsonc 表示带注释的 JSON)。
添加自定义词典:避免把项目专有名词标红
拼写检查器会把 useState、zustand、NextAuth 这类词标红,不是 bug,是它不认识。解决方式不是关检查,而是加进用户词典。
有两种方式:全局词典(所有项目生效)和工作区词典(仅当前文件夹生效)。推荐后者,避免污染其他项目。
- 在项目根目录新建
.cspell.json(注意开头是点) - 内容至少包含
words数组和version字段:
{
"version": "0.2",
"words": [
"zustand",
"shadcn",
"vercel",
"NextAuth"
]
}
保存后,VSCode 会自动重载词典。如果没立刻生效,试试关闭再打开文件,或运行命令 Spell Check: Reload Configuration。
容易踩的坑:words 里的词必须全小写(即使原词大写),扩展内部会统一转小写比对;另外不要加引号外的逗号(JSON 末尾逗号非法)。
为什么改了配置还是没波浪线?重点查这三个地方
拼写检查依赖三要素同时满足:扩展启用 + 语言 ID 在白名单 + 当前文档没被排除。最容易被忽略的是「排除规则」。
- 检查
cSpell.ignorePaths:默认会忽略node_modules/**、dist/**等,但如果误配成**/*.md,整个 Markdown 就失效了 - 检查文件右下角语言模式是否被覆盖:比如一个
.env文件被识别为Shell Script,而shellscript不在cSpell.enabledLanguageIds里,就得手动改成plaintext或加进白名单 - 检查是否有其他拼写扩展冲突:比如同时装了
Spelling Checker(另一个不同作者的旧扩展),会互相压制
复杂点在于:波浪线是异步渲染的,有时编辑器刚启动时词典加载慢,等几秒再看;更隐蔽的是,某些主题(尤其是高对比度主题)可能让红色波浪线颜色太浅,几乎看不见——换回默认主题快速验证一下。


















