fira code 连字不显示主因是字体未正确安装或 vscode 未识别字体名;需在系统字体册确认安装、settings.json 中用单引号写对字体名(如'fira code')、配置中文字体 fallback,并验证 => !== ==> 三组连字是否全部生效。

Fira Code 连字不显示,90% 是因为字体没装进系统,或者 VSCode 没读到正确的字体名——不是改了 settings.json 就完事,得让系统和编辑器都“认得上”。
怎么确认 Fira Code 真的装进了系统?
VSCode 不自带任何字体,它只查系统字体册。你下载 zip 解压双击安装,不等于系统就注册成功了。
- Windows:打开
C:\Windows\Fonts,搜索Fira Code,必须看到完整字体条目(含 Regular、Bold、Retina 等变体),不能只有文件没图标 - macOS:打开“字体册”App,用顶部搜索框输
Fira Code,注意看右下角是否显示“已安装”,且字体全名是FiraCode-Retina或Fira Code(空格/连字符差一个都不行) - Linux(Ubuntu/Debian):
fc-list | grep -i "Fira Code",有输出才算装好;若无,需手动复制.ttf到~/.local/share/fonts/后运行fc-cache -fv
settings.json 里字体名怎么写才不翻车?
GUI 设置界面容易漏引号、空格或大小写,直接改 JSON 更可靠,也避免被 GUI 覆盖。
- 字体名必须用单引号包裹,尤其含空格的:
'Fira Code',不是Fira Code也不是"Fira Code" - 多个字体要英文逗号分隔,末尾不加顿号:
'Fira Code', 'Consolas', 'monospace' - macOS 用户务必从“字体册”右键字体→“在访达中显示”→点“简介”,复制“全名”字段值(常为
FiraCode-Retina) - Windows 用户如果装的是官方 release,通常填
'Fira Code'即可;若无效,试试'FiraCode-Regular'
为什么 => 显示正常,但 !== 或 ==> 不合并?
连字不是全有或全无,而是按字体内置的 OpenType 特性表逐个启用。旧版 Fira Code 或非 ligature 专用分支(如某些 Nerd Fonts 衍生版)可能只支持基础连字。
- 去 GitHub 查你装的版本:打开
https://github.com/tonsky/FiraCode/releases,确认下载的是 latest release 的FiraCode_*.zip(不是FiraCodeNerdFont) - VSCode 1.84+ 对多符号连字(如
==>、!=)支持更完整;低于此版本建议升级 - 极少数情况需手动开启 OpenType 特性,在
settings.json加一行:"editor.fontLigatures": "'calt' on, 'liga' on"(仅对原生支持 OpenType 的字体有效)
中文注释糊、粗细不一、基线错位怎么办?
Fira Code 是纯西文字体,中文全靠 fallback。配置不当就会出现“英文锐利、中文发虚”或“注释下沉半像素”的典型症状。
- fallback 链必须显式声明中文字体,例如:
'Fira Code', 'Microsoft YaHei', 'PingFang SC', 'sans-serif' - 中文字体选等宽或准等宽款更稳:
'Sarasa Mono SC'(更纱黑体)、'YaHei Consolas Hybrid'(需自行安装)比'SimSun'对齐更好 - 检查中文是否清晰:写一行
// 中文注释 test,放大到 200%,看汉字边缘是否锯齿、是否和英文 x-height 对齐 - 终端连字是另一套配置,别指望
editor.fontFamily带动它:"terminal.integrated.fontFamily": "'Fira Code', 'Sarasa Mono SC'"必须单独设
连字效果最终是否真正生效,唯一可信验证是输入 =>、!==、==> 这三组符号,全部变成单个连体字形才算过关;只要有一个没变,就说明字体链、OpenType 支持或 VSCode 渲染进程还没同步到位——关掉所有 VSCode 窗口再开,别信“重载窗口”。











