<p>Sublime Text 原生拼写检查仅支持在 Plain Text/Markdown/reStructuredText 文件中启用波浪线标记与右键建议,需手动设置 spell_check: true 且词典路径必须严格为 "Packages/Language - English/en_US.dic"。</p>

Sublime Text 原生不支持“自动拼写检查”——它没有输入时实时替换(teh → the)的能力,也不区分注释/字符串/变量名。所谓“开启拼写检查”,本质是启用波浪线标记 + 右键建议 + 手动加词,且必须严格限定在非代码语法中才可用。
Spell Check 状态栏没出现?先确认 spell_check 是不是真启用了
右下角状态栏显示 Spell Check 是唯一可信信号,标红线 ≠ 开了拼写检查(可能是 LSP 报错、自定义 scope 样式或语法高亮异常)。按 F6 可临时切换,但它不保存、不跨视图生效。真正启用必须满足两个条件:
- 当前文件语法是
Plain Text、Markdown或reStructuredText(不是.py或.js) - 在菜单
Preferences → Settings – Syntax Specific的右侧用户设置中,写入"spell_check": true - 全局
Preferences → Settings里加该字段对代码文件完全无效
dictionary 路径写错 = 静默失效,标红但无建议
开了 spell_check 却右键没“Change to 'receive'”、Add to Dictionary 灰掉?90% 是 dictionary 路径不对。Sublime 不报错、不 fallback、不提示,只跳过词典加载。
- 正确路径只有:
"Packages/Language - English/en_US.dic"(注意空格、“-”、大小写、无dictionaries/子目录) - 常见错误:
"en_US.dic"、"Packages/Language - English/dictionaries/en_US.dic"(多一级)、"Packages/Language - English/en_US"(缺后缀) - 验证方法:菜单
Preferences → Browse Packages…→ 进入Language - English/目录 → 确认存在en_US.dic(不是.aff或其他) - macOS 权限受限时,可复制
en_US.dic到Packages/User/,再设为"Packages/User/en_US.dic"
想检查 Python/JS 注释里的拼写?别碰 spelling_selector
spelling_selector 是个 scope 过滤器,不是语义分析器。设成 "comment" 在 Python 或 JS 中效果极差:
-
"""This is a sentance."""中的sentance常被漏检 -
/* block comment */和多行字符串中间混写的自然语言识别不稳定 -
console.log("wong"); // this is wrong两个wong都会被标红,无法排除字符串字面量
真正可用方案是装 Spell Check Comments 插件(通过 Package Control 安装),它专为注释设计,能准确识别 #、//、/* */、"""、'''、<!-- -->,并严格排除字符串、正则、JSON key 等区域。
别在 .py 或 .js 文件里开 spell_check
原生拼写检查不识别语法结构,只按 Unicode 字符块切分单词。一旦在 Python 或 JS 语法中启用 spell_check:
-
def initalize_user():→initalize_user全被当单词扫,标红 -
user_data = {"recieve": True}→recieve和recieve(作为 key)都标红 - 右键选
Add to Dictionary会把initalize_user加进词典,下次真拼错initialize就永远看不到提醒
最易被忽略的一点是:拼写检查是否生效,和你“正在编辑什么文件”强绑定;而词典路径是否有效,又和你“有没有亲手验证过 en_US.dic 是否真实存在且路径一字不差”强绑定。

















