Sublime代码下方红色波浪线90%非拼写检查所致,而是SublimeLinter/ESLint插件或主题渲染导致;确认方式是看状态栏是否显示“Spell Check”,无则排除拼写问题,应优先排查插件或主题配置。

Sublime 里代码下方的红色波浪线,90% 不是拼写检查干的——它默认压根没开。你看到的红线,大概率来自 SublimeLinter、ESLint 插件,或是主题把未定义变量渲染成红波浪。直接关 spell_check 可能完全没用,还让你误判问题根源。
怎么确认红线真是拼写检查引起的
拼写检查唯一靠谱的开启信号,是状态栏右下角显示 Spell Check 字样。没有这个,就不是它。
- 按
F6:只是“查找下一个拼写错误”,前提是拼写检查已手动启用;按了没反应,说明根本没开 - 新建一个纯文本文件(
File → New File,再Ctrl+Shift+P输入Set Syntax: Plain Text),打recieve——有红线才是拼写检查在工作;没红线,说明它连词典都没加载 - 切换到默认主题(
Preferences → Color Scheme → Default → Monokai):红线消失?那很可能是当前主题(比如ayu)把variable.other作用域也画成了红波浪
关掉拼写检查本身(仅当确认是它)
如果你已在 .md 或 .txt 文件中看到状态栏有 Spell Check,且红线出现在注释或字符串里,才需要动拼写配置。
- 别改全局设置——去语法专属设置里关:打开对应文件(如
readme.md),选Preferences → Settings – Syntax Specific - 在右侧用户设置中删掉或注释掉这两行:
"spell_check": true和"dictionary": "Packages/Language - English/en_US.dic" - 保存后,状态栏
Spell Check字样会消失,红线也应同步消失 - 如果非要全局关:在
Preferences → Settings用户配置里加"spell_check": false(注意是布尔值false,不是字符串"false")
真正该关的是 Linter 插件的红线
你在 .js、.py 等代码文件里看到的红线,基本都来自 SublimeLinter 或其子插件(如 SublimeLinter-eslint)。它们标的是 consol.log、未定义变量、ES6 语法不兼容等,和拼写无关。
- 临时禁用:
Ctrl+Shift+P输入SublimeLinter: Toggle Linting回车 - 永久关闭某类检查:进
Preferences → Package Settings → SublimeLinter → Settings,把"linters"下每个 linter 的"enable"设为false - 不想看红线但还想保留提示?加这两行:
"show_marks_in_minimap": false和"gutter_theme": "" - 别碰
editor.spellCheck——这是 VS Code 的配置项,Sublime 完全不识别
为什么变量名、函数名不会被拼写检查标红
Sublime 原生拼写检查只作用于特定作用域,比如 text.plain、string.quoted、comment.line。而 user_name、fetchData 属于 variable.other 或 entity.name.function,默认不在检查范围内。
- 字符串里的错词会被标(如
"recieve data") - 变量名写成
recieveData不会标红——拼写检查根本看不到它 - 没有插件支持,Sublime 原生无法校验命名规范(比如
getUsrInfo中的Usr)
最常被忽略的一点:关了 spell_check 后红线还在,第一反应不该是“设置没生效”,而是立刻查 SublimeLinter 是否在运行、当前主题是否重绘了作用域。拼写检查本身很简单,难的是分清谁在画那条红线。

















