Sublime Text 默认拼写检查不支持仅注释模式,需用 Spell Check Comments 插件实现;该插件自动识别主流语言注释语法并精准校验,支持自定义词典且不干扰字符串,是目前最稳定方案。

Sublime Text 默认不支持“仅在注释中拼写检查”
Sublime Text 的原生拼写检查(spell_check)是全局开关,开启后会对所有文本生效,包括字符串、变量名、代码逻辑部分——这会导致大量误报。它没有内置的“仅注释”模式,所谓“精准纠错”必须靠插件或规则规避实现。
用 Spell Check Comments 插件实现注释专属检查
这是目前最稳定、适配性最好的方案,专为该需求设计,能自动识别主流语言(Python、JS、C++、Java 等)的单行/多行注释语法,并只对其中内容启用拼写校验。
- 通过 Package Control 安装插件:
Spell Check Comments - 安装后无需额外配置,默认即生效;插件会监听
spell_check开关状态,仅当全局拼写开启时才介入注释区域 - 支持自定义词典:在插件设置中修改
user_dictionary路径,可添加技术术语(如useState、__init__)避免误标 - 不干扰字符串字面量:比如
"This is a sentance"中的拼写错误仍被忽略(除非你手动选中并右键 →Spelling: Check Selection)
禁用字符串/标识符拼写的临时补救法
如果你暂时不想装插件,可配合作用域(scope)规则压制误报,但效果有限且需手动维护:
- 打开
Preferences → Settings – Syntax Specific(确保当前是 Python/JS 等文件类型) - 添加以下配置屏蔽字符串和关键字区域:
{
"spell_check": true,
"spelling_selector": "comment - string - constant - keyword - storage - support"
}
⚠️ 注意:spelling_selector 是 Sublime 的 CSS-like 作用域选择器,但它的匹配粒度较粗;例如无法区分 // comment 和 /* comment */ 中的注释内容与中间的代码片段,某些嵌套注释仍可能漏检或误检。
为什么不用 subl --command "toggle_spell_check" 脚本切换?
有人尝试用命令行或插件在光标进入注释时自动开拼写、离开时关闭——实际不可行:
- Sublime 不提供“光标所在作用域实时通知”的 API
-
on_selection_modified事件触发频繁但无上下文语义,无法可靠判断是否真在注释内 - 强行轮询作用域会显著拖慢编辑响应,尤其在大文件中
真正稳定的注释级拼写控制,目前只有 Spell Check Comments 插件能做到开箱即用。其他方式要么漏检、要么误伤、要么性能崩坏——别在作用域过滤上花太多时间调参。










