直接修改 settings.json 中的 editor.fontfamily 和 editor.fontsize 最可靠,gui 设置易被覆盖或重启失效;字体名含空格需单引号包裹,如 'fira code';字号须为整数,行高需合理设置;终端字体需单独配置;插件和 gpu 加速可能干扰字体渲染。

直接改 settings.json 里的 editor.fontFamily 和 editor.fontSize 就行,图形界面点来点去容易被覆盖或重启失效。
为什么不能只用图形设置面板
图形界面搜 “font size” 或 “font family” 改的值,常被工作区配置、插件或远程环境覆盖;尤其打开某个项目后字体突然变小,八成是项目根目录下 .vscode/settings.json 里写了冲突项。GUI 修改不写入 JSON,只是临时缓存,重启或切工作区就丢。
- 必须通过
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS)→ 输入Preferences: Open Settings (JSON)直接编辑生效配置 - 确认你编辑的是「用户设置」(User Settings),不是工作区设置(Workspace Settings)
- 检查是否连上了 Remote-SSH / Dev Container——本地改的设置对远程实例完全无效,得在远程环境里重开命令面板再改
editor.fontFamily 怎么填才不报错
拼错一个字符,VS Code 就静默 fallback 到默认字体(通常是 Consolas 或 monospace),看着没变化,其实是失败了。
- 每个含空格或连字符的字体名必须用英文单引号包裹:
'Fira Code'、'JetBrains Mono',不能写成Fira Code或"Fira Code" - 多个字体用英文逗号分隔,建议按优先级从左到右排:
"editor.fontFamily": "'Fira Code', 'JetBrains Mono', 'Consolas', 'monospace'" - 中文字体要慎选:
Microsoft YaHei在 macOS/Linux 上可能渲染模糊,macOS 推荐'PingFang SC',Linux 推荐'Noto Sans CJK SC' - 别漏掉
editor.前缀——写成"fontFamily"或"editorFontFamily"都会被忽略
editor.fontSize 和 editor.lineHeight 的坑
editor.fontSize 控制字号,editor.lineHeight 控制行高,两者不联动,设错会导致文字裁切、光标错位或字体发虚。
-
editor.fontSize必须是整数(如14),14.5或"14px"会被静默丢弃 -
editor.lineHeight单位是像素,不是 CSS 的line-height值;默认为0(自动计算),设成具体值(如24)才生效 - 行高不能小于字号 + 2,否则文字顶部/底部被截:字号
14时,lineHeight至少设16,推荐20–24 - 改完必须执行
Developer: Reload Window(Ctrl+Shift+P输入),仅保存 JSON 不够,渲染引擎要重载字形缓存
终端字体和编辑器字体是两套系统
很多人调完 editor.fontFamily 发现底部终端还是小字、糊字、缺中文——因为终端用的是完全独立的配置项,根本不会继承编辑器设置。
- 终端字体必须单独配:
"terminal.integrated.fontFamily": "'Fira Code', monospace" - 终端字号也得单独设:
"terminal.integrated.fontSize": 13(通常比编辑器大 1–2) - 改完已打开的终端不会刷新,必须关闭当前页签(
Ctrl+Shift+`关),再按Ctrl+`新建一个才生效 - 如果用了主题插件(如 One Dark Pro),它可能强制重写字体配置,可临时禁用插件验证是否冲突
最容易被忽略的是:GPU 加速在某些 Linux 发行版或老旧显卡上会破坏字体亚像素渲染,导致所有字体发虚——此时加 code --disable-gpu 启动 VS Code 是最快验证方式。还有就是 macOS 用户装了 Operator Mono 却没进「字体册」确认安装成功,结果 fallback 到第二顺位字体,连字功能也白开了。











