拼写检查没反应的根源是状态栏无“Spell Check”标识,说明未启用;词典路径必须严格为“Packages/Language - English/en_US.dic”或“Packages/User/zh_CN.dic”;仅对Plain Text、Markdown等非代码语法启用才有效。

拼写检查没反应?先看状态栏有没有 “Spell Check”
状态栏右下角没出现 Spell Check 字样,说明拼写检查根本没启用——不是慢、不是卡,是压根没跑起来。很多人加了 "spell_check": true 却没效果,问题几乎都出在这儿。它只在当前文件语法匹配且设置正确时才显示,不是全局开关,也不是“标红了就算开”。按 F6 可临时切换,但关掉文件就重置,不保存。
词典路径写错 = 静默失效,连报错都没有
写了 "spell_check": true 却标红线但右键没建议、Add to Dictionary 灰掉?90% 是 dictionary 路径错了。Sublime 不 fallback、不提示、不猜路径,只默默跳过加载。
-
"en_US"、"en_US.dic"、"Packages/Language - English/dictionaries/en_US.dic"全部无效(多一级dictionaries/就失败) - 唯一可靠写法:
"dictionary": "Packages/Language - English/en_US.dic"(注意空格、“-”、大小写,不能少字符) - 验证方法:菜单 →
Preferences → Browse Packages…→ 打开Language - English/目录,确认存在en_US.dic(不是.aff或其他后缀) - macOS 权限受限时,可把
en_US.dic复制到Packages/User/下,再设为"dictionary": "Packages/User/en_US.dic"
别在 .py/.js 文件里开 spell_check
Python、JavaScript 等语法包默认忽略 spell_check 字段,你在全局 Settings 里加 "spell_check": true 对它们完全无效;但若误在 Settings – Syntax Specific 里给 .py 开了,变量名如 recieveData 就会被当错词标红,右键 Add to Dictionary 还会把它加进词典——下次真拼错 receive 就永远漏检。
- 真正合理的做法:只对
Plain Text、Markdown、reStructuredText这类非代码语法启用 - 操作路径:打开一个
.md文件 →Preferences → Settings – Syntax Specific→ 右侧加:{"spell_check": true, "dictionary": "Packages/Language - English/en_US.dic"} - 这个配置只生效于当前语法类型,
.py文件完全不受影响
中文词典要手动放,原生不带也不自动纠错
Sublime 原生不附带中文词典,zh_CN.dic 需手动下载并放入 Packages/User/ 目录,再配 "dictionary": "Packages/User/zh_CN.dic"。该文件必须是 UTF-8 无 BOM 编码,且仅含纯文本词条(每行一个词),不支持自动分词或上下文纠错。
- 别信“输入就替”:原生拼写检查只标红线、给右键建议、允许加词,从不自动修改内容
- 所谓“自动替换”必须靠插件(如
AutoReplace),但规则要手写,极易误伤字符串字面量或 API 字段名 - 想只检查注释?原生做不到——它不分注释、字符串、变量名,全文本扫描。靠谱方案是装
Spell Check Comments插件,它能准确识别#、//、/* */、"""等边界
真正起效的关键就三点:状态栏有 Spell Check、路径严格匹配、作用域限定在非代码语法。其余都是围绕这三点的容错和妥协。











