Sublime Text中红色波浪线实为拼写检查(spell_check)误标代码标识符所致,需按语法类型精准关闭:在Preferences → Settings – Syntax Specific中为Python、JavaScript等代码语言设"spell_check": false,而保留Markdown等文本类语言开启;全局设置无效,因spell_check优先读取语法专属配置。

Sublime Text 里没有“语法校对”这个功能,你看到的红色波浪线其实是拼写检查(spell_check)在起作用——它把代码里的关键词、变量名当错词标红了。关掉它就能消除干扰,但得按语言精准操作,不能一刀切。
为什么改 Preferences.sublime-settings 没用?
因为 spell_check 是逐语法生效的,全局设置只是 fallback。Python 文件会优先读 Python.sublime-settings,如果里面没显式设 "spell_check": false,就继承默认 true,哪怕你在用户设置里写了也没用。
- 打开一个目标文件(比如
main.py) - 点击右下角语法名(如 “Python”)→ Settings – Syntax Specific
- 检查右侧是否有
"spell_check": true或类似配置;有就改成false,没有就加一行 - 保存后,所有新打开或重载的 Python 文件立刻不标红
spell_check 对哪些语言该关?
代码类语言基本都该关:Python、JavaScript、ShellScript、YAML、JSON、Go、Rust 等。它们的标识符、关键字、路径、URL 在拼写检查眼里全是“错词”,纯属干扰。
- 保留开启的场景:Markdown、Plain Text、reStructuredText —— 这些是人写的正文,拼写检查真有用
- 混合内容(如 Markdown 中的代码块)不受影响:拼写检查只作用于普通文本层,代码块内高亮照常
- 别误关成
match_brackets或auto_match_enabled:那是括号高亮和自动配对,和波浪线无关
常见失效原因和验证方式
改完没反应,大概率卡在这几个地方:
- 文件没被识别为对应语法:右下角状态栏看语法名是不是你预期的(比如
.sh文件显示的是 “ShellScript” 而不是 “Bash”) - 配置格式错误:JSON 缺引号、多逗号、最后一行后面加了逗号
- 用了第三方插件(如 EditorConfig)覆盖了本地设置:临时禁用插件测试
- 拼写检查本身被系统级禁用:菜单 Tools → Spelling → Spell Check 必须是勾选状态,否则所有
spell_check设置都不生效
真正要解决的不是“语法校对”,而是让拼写检查别瞎管代码。每个语言单独关,比全局关更安全,也更符合实际编辑逻辑——毕竟你写 README.md 时还是需要它标出 “recieve” 这种错拼的。











