sublime拼写检查语言由spelling_language设置项决定,而非dictionary路径;必须使用标准iso码(如en_gb、zh_cn)且大小写敏感、带下划线,配置需在语法专属设置中完成。

拼写检查语言由 spelling_language 控制,不是 dictionary 路径决定的
很多人以为改了 "dictionary": "Packages/Language - English/en_GB.dic" 就切换了语言,其实不是。Sublime 的拼写检查实际使用的语言,取决于 spelling_language 这个设置项,它必须是标准 ISO 码(如 en_GB、en_US、zh_CN),且大小写敏感、带下划线。
为什么你换了词典路径却还是美式拼写?因为 spelling_language 没改,默认就是 en_US。它和词典文件名无关,只和这个字符串值匹配——Sublime 会用它去查找对应 .dic 和 .aff 文件对。
-
spelling_language必须写在语法专属设置里(Preferences → Settings – Syntax Specific),全局设置可能被覆盖 - 值必须严格匹配:写成
en_gb或EN_US都无效,只认en_GB、en_US - 如果指定
spelling_language但没装对应词典,拼写检查会静默失效(不报错、不标红、右键无建议)
中文拼写检查必须手动放 zh_CN.dic 到 Packages/User/
Sublime 原生不带中文词典,Packages/Language - Chinese 包不存在,官方也从未发布。想支持中文,唯一可靠方式是自己准备一个 UTF-8 编码(无 BOM)、格式合规的 zh_CN.dic 文件,放进 Packages/User/ 目录,再显式配置:
{
"spell_check": true,
"spelling_language": "zh_CN",
"dictionary": "Packages/User/zh_CN.dic"
}
注意:dictionary 路径必须指向 .dic 文件本身,不能是目录;也不能写成 Packages/User/zh_CN 或 zh_CN.dic —— 缺少前缀或后缀都会失败。
- 中文词典质量差异大,常见问题包括:专有名词漏标、简繁混排识别弱、人名地名误报多
- 右键“Add to Dictionary”对中文基本无效——它只往英文词典追加词条,不会更新
zh_CN.dic - 若用第三方生成的词典,务必确认其含
.aff辅助文件(否则加载失败),且两文件名前缀一致(如zh_CN.dic+zh_CN.aff)
按文件类型切换语言,得靠 Settings – Syntax Specific,不是快捷键
Sublime 没有“Ctrl+Shift+L 切换语言”这种快捷键,也没有菜单项。所谓“多语种写作支持”,本质是为不同语法类型(比如 Markdown 写英文文档、README_zh.md 写中文说明)分别配好 spelling_language 和 dictionary。
实操时,你得打开对应文件 → Preferences → Settings – Syntax Specific → 在右侧加配置。例如,在一个 README_zh.md 文件里,这样写才生效:
{
"spell_check": true,
"spelling_language": "zh_CN",
"dictionary": "Packages/User/zh_CN.dic"
}
- 别在全局
Settings里配多套语言——它不支持条件分支,只会用最后一个生效的值 - 如果你同时开英文 Markdown 和中文 Markdown,必须分别进两个文件的
Settings – Syntax Specific单独配 - 状态栏右下角只显示 “Spell Check”,不显示当前语言;验证是否生效,唯一办法是输一个确定错拼的词(如英文输
recieve,中文输拼写检车),看有没有波浪线+右键建议
右键无建议?90% 是词典路径或编码问题,不是插件没装
拼写检查标红线但右键菜单里没有“Change to 'receive'”这类建议,说明 Sublime 找到了错词,却没能加载词典里的正确词表——这不是功能缺失,而是词典没起来。
- 检查
Packages/Language - English/下是否存在en_US.dic(不是en_US.aff,也不是en_US.txt);路径必须完整,"Packages/Language - English/en_US.dic"少一个斜杠或空格都不行 - macOS 用户常因权限问题无法读取
Packages/下的词典,临时解法:复制en_US.dic到Packages/User/,改用"dictionary": "Packages/User/en_US.dic" - 词典文件必须是 UTF-8 无 BOM 编码;用 VSCode 或 Sublime 自己另存为时勾掉“BOM”选项,否则加载失败且不提示
最常被忽略的一点:拼写检查在代码块内(如 Markdown 的 ```python 区域、Python 的 docstring 外部)默认不工作——这是设计行为,不是 bug,也和语言设置无关。











