必须同时满足系统安装Fira Code、VSCode正确配置fontFamily(如'Fira Code')、显式启用"editor.fontLigatures": true三条件,且需完全退出VSCode生效。

连字效果不会自动出现,必须同时满足「系统已安装支持连字的字体」「VSCode 正确加载该字体」「editor.fontLigatures 显式设为 true」三个条件,缺一不可。
确认 Fira Code 是否真被系统识别
VSCode 不自带字体,只读取系统字体册注册的名称。下载 zip 后双击安装 ≠ 系统识别成功。
- Windows:打开
C:\Windows\Fonts,搜索Fira Code,必须看到带图标的完整条目(含 Regular、Bold、Retina 等变体) - macOS:用「字体册」App 搜索
Fira Code,右下角显示「已安装」;右键→「在访达中显示」→「简介」里复制「全名」字段(常见为FiraCode-Retina,不是文件名FiraCode-Regular.ttf) - Linux:运行
fc-list | grep -i "Fira Code",有输出才算装好;若无,复制.ttf到~/.local/share/fonts/后执行fc-cache -fv - 验证方式:打开记事本或 TextEdit,字体列表里能搜到并选中,输入
=>或!=能直接显示为连体符号,才算到位
settings.json 中必须写对的两行配置
GUI 设置界面容易漏引号或大小写,直接改 JSON 更可靠,也避免被扩展覆盖。
-
editor.fontFamily必须用单引号包裹含空格的字体名:'Fira Code',不能写成Fira Code或"Fira Code" - 多个字体用英文逗号分隔,西文字体优先:
"'Fira Code', 'JetBrains Mono', Consolas, 'monospace'" -
editor.fontLigatures值必须是布尔型true,不是字符串"true";拼写是fontLigatures,不是fontLigature或ligatures - macOS 用户若在字体册看到全名是
FiraCode-Retina,就填'FiraCode-Retina',空格/连字符差一个都加载失败
编辑器和终端的字体配置是两套系统
连字只作用于编辑器文本区,集成终端是另一套机制。很多人配完编辑器发现终端里 ls 还是默认字体,就是因为没单独设终端字体。
- 编辑器连字依赖:
"editor.fontFamily": "'Fira Code'", "editor.fontLigatures": true - 终端连字靠:
"terminal.integrated.fontFamily": "Fira Code"—— 注意这里不加fontLigatures字段,也不需要单引号 - Remote-SSH / WSL 场景下,
terminal.integrated.fontFamily只起提示作用,真正生效的是远程系统是否安装了Fira Code;本地装了没用 - 终端字符重叠或光标错位?可微调:
"terminal.integrated.letterSpacing": 0.5
为什么 => 显示了,但 !== 或 ==> 不合并?
连字不是所有组合都默认启用,它取决于字体文件内置的 OpenType 特性表是否包含对应 ligature。Fira Code 官方版本支持 !=、===、!==、&&、||、->、~> 等数十种组合,但旧版或精简版可能缺失部分。
- 下载时务必选带
Ligatures后缀的版本(如FiraCode-Bold.ttf也得单独装) - 某些语言扩展(如 Markdown 预览插件)可能误触发连字,可在对应语言设置中关闭:
"[markdown]": { "editor.fontLigatures": false } - 团队协作时,若他人未启用连字,同一行代码在不同人屏幕上显示不同(比如
!==显示为≢或原样),可能引发 PR 评审歧义
改完配置后必须完全退出 VSCode 进程(Windows 右键任务栏→“退出”,macOS Cmd + Q),否则旧渲染进程还在,连字不生效——这是最容易被忽略的一步。



















