sublime text只调用系统已安装的等宽字体,font_face必须与系统注册的全名(大小写、空格、连字符全敏感)完全一致,如"fira code"或"microsoft yahei";填错名、未装字体或未刷新缓存均导致设置静默失效。

Sublime Text 本身不安装字体,只调用系统已安装的等宽字体;填错 font_face 名、漏装字体、或没刷新缓存,都会导致设置静默失效,界面仍显示默认字体。
怎么确认系统里有没有装对等宽字体
Sublime 不认文件名(如 FiraCode-Regular.ttf),也不认中文显示名(如“Fira Code”在字体册里显示为“Fira Code Medium”),它只认操作系统注册的**全名(Full Name)**,且大小写、空格、连字符全部敏感。
- Windows:打开「字体设置」→ 搜索 “Fira Code”,看详情里「完整名称」字段是否为
Fira Code或FiraCode-Regular - macOS:打开「字体册」→ 选中字体 → 右键「显示简介」→ 查「全名」字段,不是「版权」或「样式」
- Linux:终端运行
fc-list : family | grep -i "fira",输出中带引号的才是真实 family name,比如"Fira Code" - 装完别急着开 Sublime,先运行
fc-cache -fv(Linux/macOS)或重启字体服务(Windows)
用户设置里怎么写 font_face 才生效
必须写在 Preferences → Settings 右侧(User)面板,JSON 格式要合法,字段名一个字母都不能错。
-
font_face是字符串,必须加双引号,值必须和系统注册的全名完全一致,例如:"Fira Code"、"JetBrains Mono"、"Microsoft YaHei" - 写成
font-face、fontface、fontsize都无效;末尾多一个逗号也会让整个 JSON 解析失败,设置静默不生效 - 中文字体如微软雅黑,在 Windows 系统里真实名称是
"Microsoft YaHei",不是"微软雅黑",也不是"simhei" - 如果用了连字字体但连字不显示,先试试把
font_face改成"FiraCode-Regular"——部分系统注册的是这个内部名
为什么改了 font_size 没变化,或者变糊了
font_size 单位是像素(px),不是 pt,也不是相对缩放;它只控制编辑区文字渲染尺寸,和 UI 元素无关。
- 常用范围是
12–16;10以下在高分屏上容易发虚,20以上可能撑满行高导致括号匹配高亮被裁掉 - 改完不生效?先检查是否误改了左侧 Default 面板(只读)、是否 JSON 语法错误(可用在线 JSON 校验器粘贴验证)
- 放大后文字边缘模糊?加上
"font_options": ["subpixel_antialias"](Windows/Linux 推荐),macOS 可省略或换用["gray_antialias"] - 快捷键缩放(
Ctrl/Cmd + +)不影响font_size,关文件就还原,适合临时演示,但不会改变复制到终端的字号
侧边栏、标签页字体能一起改吗
不能。编辑区的 font_size 和 font_face 对侧边栏、标签页、状态栏完全无效,它们走的是主题渲染路径。
- 要改 UI 字体,得进
Packages/Theme - [你的主题名]/目录,编辑.sublime-theme文件 - 搜索
"class": "sidebar_label"或"tab_label",在里面加"font.face": "Segoe UI"和"font.size": 12 - 第三方主题(如 Material Theme)通常禁止直接改原文件,得用
PackageResourceViewer插件提取后覆盖,否则下次更新会回滚 - 改完主题文件必须重启 Sublime,且不同主题字段名可能不同,比如有的用
font.face,有的用font_face
最常被忽略的点:连字不是装了 Fira Code 就自动开启,font_options 必须显式配置,且 ST4 build 4143+ 才稳定支持;旧版即使配对了也可能只渲染部分符号,比如 != 变 ≠ 成功,但 => 还是原样。











