Sublime拼写检查默认完全关闭,唯一生效信号是状态栏右下角显示“Spell Check”;必须在Settings–Syntax Specific中为当前语法启用spell_check并配置正确dictionary路径,全局设置或路径错误均静默失效。

Sublime 的拼写检查默认完全关闭,不标红、不提示、不右键建议——不是延迟,是压根没启动。唯一能确认它生效的信号,是状态栏右下角出现 Spell Check 字样。
为什么开了 spell_check 还没反应?
最常见原因是配置位置错了:你必须在 Preferences → Settings – Syntax Specific 里设置,而不是全局 Settings。Python、JavaScript 等语法包会直接忽略全局的 spell_check 字段,改了也白改。
- 当前文件是
.py,却在全局 Settings 加"spell_check": true→ 静默无效 - 当前是
README.md,但没切到Settings – Syntax Specific→ 状态栏不会出现Spell Check - 按
F6临时开启,只作用于当前视图,关掉文件就重置 → 不保存设置
dictionary 路径写错就等于没开
Sublime 对词典路径极其敏感,错一个字符、少一级目录、大小写不对、斜杠方向反了(尤其 Windows 下用 \),都会导致静默失败:单词标红但右键无建议,Add to Dictionary 点不动。
- 正确路径必须是完整相对路径字符串:
"Packages/Language - English/en_US.dic" -
"en_US"、"en_US.dic"、"Packages/Language - English/dictionaries/en_US.dic"(多了一级dictionaries/)全都不行 - 验证方法:菜单
Preferences → Browse Packages…→ 进入Language - English/目录 → 确认存在en_US.dic(不是.aff或其他后缀) - macOS 权限受限时,可把
en_US.dic复制到Packages/User/,然后设为"dictionary": "Packages/User/en_US.dic"
怎么关掉红色波浪线?先分清是不是拼写检查
很多用户以为关了 spell_check 就能去掉红线,结果发现波浪线还在——大概率不是拼写检查干的。
- 红线来自
SublimeLinter、ESLint或pyflakes等 Linter 插件 → 关对应插件或调整其规则 - 某些主题(如
ayu)把未定义变量也渲染成红色波浪 → 切换回Monokai主题测试 - 写了
"dictionary"但"spell_check": false,旧版 Sublime 可能仍尝试加载词典 → 直接删掉dictionary行
想只检查注释?原生做不到,别硬调 spelling_selector
spelling_selector 是个作用域过滤器,不是语义分析器。设成 "comment" 看似合理,实际漏检严重,尤其面对嵌套注释(如 /* // */)或跨行字符串里的伪注释。
- 真正可用方案是装
Spell Check Comments插件(通过 Package Control 安装) - 它专为注释设计,自动识别
#、//、/* */、"""等主流语法,且跳过字符串字面量 - 安装后无需额外配置,只要
spell_check: true开着,它就自动接管注释部分
最容易被忽略的一点:拼写检查是否启用,和你“正在编辑什么文件”强绑定。同一个设置,在 .md 里生效,在 .py 里就是摆设——这不是 bug,是 Sublime 把控制权交还给用户的底层逻辑。

















