Sublime Text拼写检查默认完全关闭,唯一生效信号是状态栏右下角显示“Spell Check”;必须在Settings–Syntax Specific中启用spell_check并配置正确dictionary路径(如"Packages/Language - English/dictionaries/en_US.dic"),全局设置或路径错误均静默失效。

Sublime Text 的拼写检查默认完全不工作——没红波浪线、没右键建议、状态栏也不显示任何提示。它不是“延迟加载”,而是压根没启动;唯一能确认它真正开启的信号,是状态栏右下角出现 Spell Check 字样。
为什么在 Settings 里加了 "spell_check": true 却没反应
最常见原因是改错了配置位置:全局 Settings(即 Preferences → Settings)对绝大多数语法类型(如 .py、.js、.md)完全无效。Python 语法包、Markdown 插件等会主动忽略全局设置里的 spell_check 字段。
必须进入:当前文件已打开 → Preferences → Settings – Syntax Specific(注意名称里带 “Syntax Specific”),然后在右侧用户设置中添加:
{
"spell_check": true,
"dictionary": "Packages/Language - English/dictionaries/en_US.dic"
}
保存后,若状态栏仍未出现 Spell Check,说明路径或语法上下文没对上。
- 新建一个纯文本文件(File → New File),再执行
Set Syntax: Plain Text,此时全局设置才可能生效 - 如果是
.md文件,但你刚切到 Markdown 语法,需手动触发一次语法重载:View → Syntax → Markdown → 再切回 Markdown - 按
F6可临时开关当前视图的拼写检查,但它不保存、不跨文件、不改变设置
dictionary 路径写错就等于没开
Sublime 对词典路径极其敏感,错一个字符、少一级目录、斜杠方向反了(Windows 下用 \ 而非 /)、大小写不对,都会导致静默失败:单词标红但右键无建议,“Add to Dictionary” 点不动。
正确路径必须是完整相对路径字符串,且严格匹配实际文件结构:
- ✅ 正确:
"Packages/Language - English/dictionaries/en_US.dic" - ❌ 错误:
"en_US"、"en_US.dic"、"Packages/Language - English/en_US.dic"(缺dictionaries/)、"Packages/Language - English/dictionaries/en_US.aff"(后缀不对)
验证方法:Preferences → Browse Packages… → 进入 Language - English/dictionaries/ 目录 → 确认存在 en_US.dic(不是 .aff、不是子目录嵌套更深)。
macOS 权限受限时,可把 en_US.dic 复制到 Packages/User/,然后设为:"dictionary": "Packages/User/en_US.dic"。
红色波浪线不是拼写检查引起的?先看状态栏
90% 的代码文件红线来自 SublimeLinter、ESLint 或 pyflakes,不是拼写检查。判断依据只有一个:状态栏右下角有没有 Spell Check 字样。
- 没有这个字样,却有红线 → 不是拼写检查干的,别动
spell_check - 有字样,但红线出现在
.py文件里 → 说明你误在 Python 语法专属设置里开了拼写,它会把recieveData当错词标红,还允许你加进词典,后续真写错receive就永远漏检 - 切换成 Monokai 主题后红线消失 → 很可能是主题把未定义变量渲染成红波浪,不是拼写也不是 Linter
想关掉 Linter 红线,去 Preferences → Package Settings → SublimeLinter → Settings,把 "lint_mode" 改成 "save",或直接运行命令 SublimeLinter: Toggle Linting 临时禁用。
想只检查注释?原生做不到
spelling_selector 是个作用域过滤器,不是语义分析器。设成 "comment" 看似合理,但面对 /* // nested */ 或字符串里混写的伪注释(如 "// not a comment"),它会严重漏检或误检。
原生 Sublime 没法区分“这是注释里的英文”和“这是变量名里的英文”。真需要这种能力,得装第三方插件(如 Spell Check),但要注意它仍依赖词典路径和语法专属设置,不是开个开关就灵。
最容易被忽略的一点:你在 .md 文件里配好了拼写检查,但某天打开一个新 .md 文件,状态栏没显示 Spell Check——大概率是因为这个新文件的语法识别没自动切对,手动执行一次 Set Syntax: Markdown 才能触发设置加载。











