windows下需添加"font_options": ["directwrite"]并开启cleartype,否则中文字体发虚;macos应删除no_antialias,依赖系统原生core text渲染。

Windows 必须加 "font_options": ["directwrite"]
Sublime Text 在 Windows 上默认走 GDI 渲染路径,对中文字体的 hinting 和 subpixel 定位支持极差——微软雅黑、思源黑体看着发虚、毛边、粗细不均,根本不是字体问题,而是渲染引擎选错了。
打开 Preferences → Settings,在右侧用户设置 JSON 中添加:
{"font_options": ["directwrite"]}
- 必须同步开启系统级 ClearType(控制面板 → 显示 → 调整 ClearType 文本),否则 DirectWrite 会退化为灰阶抗锯齿,效果打折
- 改完一定要完全退出 Sublime(macOS 注意右上角菜单栏「退出」,Windows 关闭所有窗口),热重载不生效
- 若用了精简版
simhei.ttf或无 ClearType hinting 的字体,即使开了 DirectWrite 仍可能模糊,建议换用完整版或 YaHei Consolas Hybrid
macOS 别碰 no_antialias,删掉它
macOS 原生用 Core Text,自带 subpixel 渲染和高质量 hinting。"font_options": ["no_antialias"] 这一行一旦存在,就会强制关闭所有抗锯齿,导致中英文都变硬、发虚,Retina 屏上尤其明显。
检查你的用户设置里有没有这行,有就直接删掉。不需要加任何 font_options 值,系统默认就是最优解。
- Monaco、SF Mono、Fira Code 等字体在 macOS 上默认就很锐利,无需额外开启抗锯齿
- 真要微调,优先动
font_size(比如设为12.5或13),配合系统缩放比硬开选项更稳 - 如果用了第三方主题(如 ayu、Material Theme),它们可能在 theme 文件里硬编码了
font_options,需去对应.sublime-theme文件中搜索并删掉
font_face 必须是等宽字体 + 合理 fallback
只写一个中文字体(比如 "Microsoft YaHei")会导致缩进错乱、括号不对齐——因为它不是等宽的。Sublime 渲染代码时依赖严格字宽对齐,中文字体必须作为 fallback 出现在等宽字体之后。
推荐写法(Windows):
"font_face": "Fira Code, Microsoft YaHei, SimSun"
推荐写法(macOS):
"font_face": "Fira Code, PingFang SC, SFMono-Regular"
- 首项必须是已安装的等宽编程字体(Fira Code、JetBrains Mono、Consolas 等)
- 中文字体放在后面作 fallback,确保中文字符能显示,又不破坏代码排版
- 字体名必须与系统注册名完全一致(例如 macOS 里填
"SF Mono"可以,填"San Francisco"就会回退到 Courier)
主题可能偷偷覆盖字体设置
很多人调了半天 font_face 和 font_size 没反应,其实是主题文件(比如 ayu-light.sublime-theme)里硬编码了字体参数,把用户设置盖掉了。
- 临时验证:注释掉用户设置里的
"theme"字段,重启看是否恢复默认字体效果 - 若恢复了,说明是主题干扰;要去对应主题包路径(如
Packages/ayu/ayu-light.sublime-theme)里搜font.face或font.size手动改 - 更稳妥做法:在
Packages/User/下建同名 theme 文件(如ayu-light.sublime-theme),只覆盖需要的 key,避免升级时丢失
最常被忽略的是:改了配置却没确认是否编辑的是用户设置(右侧),或者被插件动态覆盖(如 Theme - Soda、Origami),又或者显卡驱动启用了“覆盖应用程序抗锯齿设置”——这些都会让 font_options 形同虚设。











