拼写检查没生效,首要原因是editor.spellcheck未启用或当前文件语言模式不被支持;需确认该设置为true,右下角显示plaintext/markdown/javascript等受支持模式,并区分内置拼写与Code Spell Checker的配置优先级。

拼写检查为什么没生效?检查 editor.spellcheck 和语言模式
VSCode 默认不开启拼写检查,必须手动启用。常见现象是打错单词(比如 recieve)却毫无波浪线提示——大概率是 editor.spellcheck 没开,或当前文件语言模式不被拼写插件支持。
- 在设置中搜索
editor.spellcheck,确保值为true - 确认右下角语言模式显示正确(如
plaintext、markdown、javascript),拼写检查对json、typescript等部分语言默认禁用,需额外配置spellright.language或使用Code Spell Checker插件 - 若用的是官方内置拼写(1.89+),仅支持
plaintext、markdown、text三类;其他语言需靠第三方插件
Ctrl+. 快速修复建议失效的常见原因
按下 Ctrl+.(Windows/Linux)或 Cmd+.(macOS)本应弹出拼写纠错菜单,但有时无响应或选项为空——这不是快捷键冲突,而是底层触发条件未满足。
- 光标必须停在带波浪线的错误单词上(不能选中、不能在空格后)
- 该单词必须被当前拼写引擎识别为“疑似拼写错误”,例如
definetly可纠,但xyzabc可能直接当未知词忽略 - 若用了
Code Spell Checker,需确认其cSpell.enabled为true,且词典中没把错误词误加进userWords - 某些主题会弱化波浪线颜色,导致你根本没发现有错误标记——可临时切到
Default Dark+主题验证
如何让拼写检查跳过代码标识符(如变量名、函数名)
拼写检查不该干涉 getUserName 或 fetchApiData 这类合法标识符,否则天天报 getUsrName 拼写错误。VSCode 内置拼写和主流插件都提供语法感知过滤能力。
- 启用
editor.spellcheckFilter配置项,设为["comment", "string"]可只检查注释和字符串字面量(推荐) - 若用
Code Spell Checker,在cSpell.languageSettings中为不同语言指定ignoreRegExpList,例如:"javascript": { "ignoreRegExpList": ["\b[a-z][A-Za-z0-9]*\b"] }(慎用,可能过度忽略) - 更稳妥的做法:在变量/函数命名处加
// cspell:ignore-next-line注释,或全局cSpell.words加白名单词
拼写检查性能卡顿或高 CPU 占用怎么办
大项目打开 Markdown 文件时,拼写检查可能拖慢编辑器响应,尤其启用多词典或启用 cSpell.useGitIgnore 后扫描整个工作区。
- 禁用不必要的词典:在
cSpell.dictionaryDefinitions中只保留en_US,删掉en_GB、en_AU等冗余项 - 限制检查范围:设置
cSpell.enabledLanguageIds显式声明仅对["markdown", "plaintext", "html"]生效 - 关闭实时扫描:将
cSpell.checkDocumentOnType设为false,改用手动触发Ctrl+Shift+P→Spell Right: Check Document - 注意:VSCode 1.90+ 的内置拼写已大幅优化,若仍卡顿,优先换用内置方案而非
Code Spell Checker
真正麻烦的不是开关本身,而是不同插件对同一配置项的覆盖逻辑——比如 editor.spellcheck 开了,但 Code Spell Checker 的 cSpell.enabled 关着,结果还是没提示。调的时候得盯住具体插件的配置层级,别只看全局设置。


















