Sublime Text 原生不支持在 .py/.js 等代码文件中安全启用拼写检查,因其仅对 comment、string 等 scope 生效,而代码语法未完整映射注释为对应 scope;推荐使用 Spell Check Comments 插件,它精准扫描注释、避免误加变量名、复用内置词典且无需额外配置。

Sublime Text 没有“一键启用代码拼写检查”这回事——它压根不支持在 .py、.js 等代码文件中安全启用拼写检查。强行在 Python 或 JavaScript 语法下开 spell_check,会把 recieveData、initalize 全标红,且右键 Add to Dictionary 会把变量名误加进词典,导致后续真拼错 receive 也漏检。
为什么不能在 .py / .js 文件里直接开 spell_check
Python 和 JavaScript 语法包主动忽略 spell_check 字段,全局设置或语法专属设置里硬加该字段,要么静默失效,要么全文件扫描(包括变量名、函数名、关键字)。这不是 bug,是设计逻辑:Sublime 的拼写检查只作用于被语法高亮标记为 comment、string 或 text.plain 的 scope,而大多数代码语法并未将注释区域完整映射到这些 scope 上。
- 验证当前光标位置是否属于可检查范围:按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入show_scope_name回车,看输出里有没有comment或string - 哪怕你在
// this is a commment里写了错词,如果语法定义没把这段归为comment.line.double-slash.js,拼写检查照样不触发 - 原生功能不区分上下文,
"teh_api_v2"和// recieve param被同等对待
想检查注释英文?用 Spell Check Comments 插件
这是目前最稳妥的方案:它只扫描注释 scope,不碰字符串和变量,也不依赖全局 spell_check 开关。安装后无需额外配置,打开 .py 或 .js 文件就能标红注释里的错词,右键提供替换建议,且不会把 recieveParam 加进词典。
- 插件地址:
https://packagecontrol.io/packages/Spell%20Check%20Comments - 安装后默认启用,无快捷键冲突;如需临时关闭,可在命令面板输入
Spell Check Comments: Toggle - 它自动识别常见注释 scope(如
comment.line.number-sign.python、comment.line.double-slash.js),比原生更精准 - 不加载
en_US.dic,而是复用 Sublime 内置词典路径,避免路径配置错误
dictionary 路径写错就等于没开
哪怕你已正确进入 Settings – Syntax Specific 并写了 "spell_check": true,只要 dictionary 路径错一个字符,Sublime 就静默跳过词典加载——标红线但右键无建议、Add to Dictionary 灰掉、状态栏也不显示 Spell Check。
- ✅ 正确路径:
"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/,再设为"dictionary": "Packages/User/en_US.dic"
真正容易被忽略的是:拼写检查是否生效,取决于当前视图的语法模式,而不是文件后缀。你双击打开一个 README.md,但右下角显示的是 Python,那所有配置都白搭。切语法、查 scope、配路径,三者缺一不可——而代码文件本身,就不在原生支持范围内。


















