vscode需先在系统安装字体再配置,编辑器字体须设在editor.fontfamily,不同系统字体名及路径不同,中文字体名需单引号包裹并设后备字体,连字和字号可能影响渲染,终端等区域字体需单独配置。

VSCode 设置字体前先确认系统已安装字体
VSCode 本身不自带中文字体,它只是调用系统已安装的字体。如果设置里写了 "Source Han Sans SC" 或 "Microsoft YaHei" 却没生效,大概率是字体根本没装进系统——不是 VSCode 配置错了,而是“货没到”。Windows 默认带微软雅黑,但思源黑体得自己下;macOS 和 Linux 通常都不预装这两个。
- 思源黑体去 GitHub 官仓 下完整版(推荐
SourceHanSansSC-Regular.otf),双击安装 - Windows 用户可跳过微软雅黑安装,但注意:某些精简版系统或企业镜像会删掉
msyh.ttc,可用资源管理器搜一下C:\Windows\Fonts\msyh.ttc确认存在 - Linux(如 Ubuntu)需手动将字体文件复制到
~/.local/share/fonts/,再运行fc-cache -fv
在 settings.json 中正确配置 editor.fontFamily
VSCode 字体设置必须写在 editor.fontFamily 项里,不能只改 terminal.integrated.fontFamily 或其他字段。而且中文字体名在不同系统上拼写不同,硬写错一个字就回退到默认字体(通常是 Consolas 或 Menlo),还不会报错。
- Windows 推荐值:
"'Microsoft YaHei', 'Source Han Sans SC', Consolas, 'Courier New', monospace" - macOS 推荐值:
"'PingFang SC', 'Source Han Sans SC', 'Helvetica Neue', monospace"(注意 macOS 没微软雅黑,别硬写) - Linux 推荐值:
"'Source Han Sans SC', 'Noto Sans CJK SC', monospace" - 所有字体名含空格或特殊字符,必须用单引号包裹;多个字体用英文逗号 + 空格分隔;最后一定留个通用后备字体(如
monospace)
字体不生效?检查 fontLigatures 和字号干扰
开了连字(fontLigatures)有时会让中文字体渲染异常,尤其思源黑体旧版本对连字支持不全;另外,太小的字号(比如 10px)在非 retina 屏上可能触发字体回退,看着像“没换成功”。
- 临时关掉连字验证:把
"editor.fontLigatures"设为false - 字号建议设为
13或14,避免12及以下;思源黑体在12px下中文笔画容易糊成一片 - 改完配置后不用重启 VSCode,但要重新打开一个编辑器标签页(或
Ctrl+Shift+P→Developer: Reload Window) - 如果只有中文显示为方块,说明字体支持缺字重,试试换
SourceHanSansSC-Regular.otf而非Light或Heavy版本
终端和标题栏字体是独立控制的
很多人以为改了 editor.fontFamily 就全局生效,结果发现集成终端、侧边栏、窗口标题还是别的字体——因为它们走的是不同配置项,且部分字段(如标题栏)甚至不支持自定义中文字体(Windows 上受限于系统 API)。
- 终端字体单独设:
"terminal.integrated.fontFamily": "'Source Han Sans SC', 'Microsoft YaHei'" - 侧边栏/面板字体靠
"workbench.fontAliasing"和整体 UI 缩放影响更大,基本无法指定中文字体 - 标题栏字体(
window.titleBarStyle为custom时)在 Windows 上固定用系统标题栏字体,VSCode 无权覆盖
真正能稳稳控制的,只有编辑器正文和终端这两块。其它地方要么受限于系统,要么优先级低于主题样式,别在这上面反复折腾配置。











