fira code需系统级安装并正确配置vscode的fontfamily与fontligatures,中英文混排需添加中文字体兜底,连字失效多因字体版本不全或终端未单独设置。

确认 Fira Code 字体已正确安装到系统
VSCode 不自带 Fira Code,它只读取系统已安装的字体。哪怕你在 VSCode 设置里写了 "Fira Code",只要系统没装,编辑器就会悄悄回退到默认字体(比如 Consolas),连字自然不会出现。
- Windows:双击下载的
FiraCode-Regular.ttf文件 → 点“安装”(不是“预览”);确保安装的是带Ligatures后缀的版本(如FiraCode-Bold.ttf也得单独装) - macOS:用字体册(Font Book)打开并点击“安装字体”,别拖进“资料库/Fonts”手动放——那样可能权限不对
- Linux(如 Ubuntu):复制 .ttf 到
~/.local/share/fonts/,运行fc-cache -fv刷新字体缓存
验证方式:打开任意文本编辑器(如记事本、TextEdit),在字体列表里能搜到 Fira Code,且选中后输入 != 或 => 能看到连体符号,才算真正就位。
VSCode 中配置 fontFamily 和 fontLigatures
只开 editor.fontLigatures 没用,必须同时指定支持连字的字体;反过来,只设字体但关了连字,也看不到箭头或等号变体。
- 打开设置(
Ctrl + ,或Cmd + ,),搜索editor.fontFamily - 点击右侧铅笔图标,填入:
'Fira Code', 'JetBrains Mono', 'Consolas', 'monospace'(单引号+英文逗号分隔,西文字体优先) - 再搜
editor.fontLigatures,勾选启用(值为true) - ⚠️ 注意拼写:是
fontLigatures,不是fontLigature或ligatures;大小写敏感
改完不用重启,但要**完全退出 VSCode 进程**(Windows 右键任务栏→“退出”,macOS Cmd + Q),否则旧渲染进程还在,连字不生效。
中英文混排时字体显示发虚或中文偏细
Fira Code 是纯西文字体,不包含中文字符。如果你代码里有中文注释、字符串或变量名,VSCode 会自动 fallback 到系统默认中文字体,而 fallback 链配置不当就会导致中英文粗细/清晰度不一致,看着像“糊”或“断层”。
- 在
editor.fontFamily里显式补上中文字体兜底,例如:'Fira Code', 'Noto Sans CJK SC', 'Microsoft YaHei', 'monospace' - 中文注释多时,建议关闭连字:
"editor.fontLigatures": false,因为连字只作用于 ASCII 符号,对中文无意义,反而可能干扰渲染节奏 - 字号别设太小(如
12),Windows 下14、macOS 下13是较稳的起点;行高建议设为"editor.lineHeight": 1.5或具体像素值(如22)
改完记得检查注释里的中文是否清晰、和英文基线对齐——这是很多人配完以为成功,实则“半残”的高发区。
连字生效但部分符号(如 ===、!==)没变化
Fira Code 并非所有组合都默认启用连字,有些需 OpenType 特性开关,而 VSCode 当前仅支持基础连字(liga),不支持上下文连字(clig)或历史连字(hlig)。所以 === 显示为三条横线、!== 显示为 ≠,取决于你装的是哪个子版本。
- 去官网下载页(
github.com/tonsky/FiraCode/releases)选带Retina或patched标签的版本,它们通常启用了更全的连字集 - 别依赖浏览器或终端验证:用 VSCode 新建一个
.js文件,输入if (a !== b) { return a => b; },看!==和=>是否同时变化 - 如果只有
=>变了,!==没变,大概率是你装的字体版本连字表不完整,换新版重装即可
最常被忽略的一点:连字效果只在编辑器内容区生效,终端(Terminal)面板默认不继承编辑器字体设置,需要单独配 terminal.integrated.fontFamily ——但多数人根本不需要终端也连字,所以这步真可以跳过。











