font_options必须为数组才生效,字符串写法会导致配置解析失败并回退默认字体;正确形式如["bold"]、["italic"]、["subpixel_antialias"]等,混用或类型错误将静默失效。

font_options 写成数组才生效,字符串写法直接失效
Sublime Text 的 font_options 控制编辑区整体字体渲染效果(加粗、斜体、连字、亚像素抗锯齿),但它**必须是数组**,不是字符串。写成 "font_options": "bold" 或 "font_options": "bold italic" 会导致整个用户配置解析失败,Sublime 会静默回退到默认字体(如 Consolas 或 Menlo)。
正确写法只有这几种:
-
"font_options": ["bold"]—— 仅加粗 -
"font_options": ["italic"]—— 仅斜体 -
"font_options": ["bold", "italic"]—— 加粗+斜体 -
"font_options": ["liga"]—— 启用连字(需 ST4 Build 4143+ 且字体本身支持) -
"font_options": ["subpixel_antialias"]—— 对中文显示尤其关键,能缓解发虚
注意:font_options 是全局开关,它不区分语言或作用域——一旦启用 ["italic"],所有代码(包括变量名、字符串、注释)都会尝试斜体渲染,但实际是否显示取决于字体是否自带斜体变体。
注释/关键字斜体 ≠ font_options,得改 color scheme
很多人设了 "font_options": ["italic"] 却发现 JavaScript 注释还是直的,这是因为 font_options 控制的是“字体渲染方式”,而语法高亮中的样式(比如让 // comment 变斜体)由配色方案(.sublime-color-scheme)决定,二者完全独立。
想只让注释斜体,步骤如下:
- 按
Ctrl+Shift+P→ 输入Show Scope Name,把光标停在注释上,看真实作用域名(如comment.line.double-slash.js) - 打开或新建自定义配色方案文件(
Preferences → Color Scheme → Edit Colors) - 添加规则:
{ "scope": "comment.line.double-slash.js, comment.block.js", "font_style": "italic" } -
font_style值只能是"normal"、"italic"、"bold"或"bold italic"(字符串,不是数组) - 第三方主题(如 Dracula)可能覆盖你的规则,优先放在自己新建的
.sublime-color-scheme中
中文字体写 ["italic"] 没反应?大概率是字体没真斜体
Windows/macOS 自带中文字体(如 "Microsoft YaHei"、"PingFang SC")几乎都不提供真正的 italic 变体。Sublime 尝试模拟(fake italic)时,常表现为模糊、拉伸、甚至完全无变化。
这不是配置错,而是字体能力限制。可行解法很窄:
- 放弃单字体策略,用 fallback 链:
"font_face": "Fira Code, PingFang SC, Microsoft YaHei"——英文走 Fira Code(有真 italic),中文 fallback 到系统字体(只负责显示,不参与斜体渲染) - 换真正支持中英双斜体的字体,如
"霞鹜文楷"(需手动安装并确认注册名为"LXGW WenKai") - 不强求中文斜体,只对英文标识符(函数名、关键字)做语法级斜体(通过 color scheme + scope 规则)
别在 font_options 里硬塞 ["italic"] 试图“统一处理”,中文字体不认这个账。
连字(ligature)要三要素齐备:字体名、ST 版本、font_options
连字不是开了 ["liga"] 就自动生效。它卡在三个环节:
- 字体注册名必须精确匹配:有些 Fira Code 安装后系统注册名为
"FiraCode-Regular",填"Fira Code"就不触发连字 - Sublime Text 必须是 v4 Build 4143 或更新版;ST3 或旧版 ST4 即使配对也无效
-
"font_options": ["liga"]必须单独存在,不能和["bold"]混在同一个数组里(旧版解析会失败)
验证是否生效:输入 !=、=>、==> 看是否合并显示。如果没反应,先运行 fc-list | grep -i fira(Linux/macOS)或查字体册(Windows)确认注册名,再核对 ST 版本号(Help → About)。











