连体字符在VSCode中需同时满足系统安装Fira Code、editor.fontFamily正确配置字体名、editor.fontLigatures设为true三条件;缺一不可,且配置后须完全退出VSCode进程才生效。

连体字符(ligatures)在 VSCode 中不会自动出现,必须同时满足「系统已安装 Fira Code 字体」「editor.fontFamily 正确指向该字体」「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 中正确配置 editor.fontFamily 和 editor.fontLigatures
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 特性表是否包含对应字形。旧版或非官方分支可能只支持基础组合。
- 去 GitHub 确认你装的是 FiraCode_*.zip 官方 release,不是 Nerd Fonts 衍生版
- VSCode 1.84+ 对多符号连字(如
==>、!==)支持更完整;低于此版本建议升级 - 某些字体需手动启用 OpenType 特性:
"editor.fontLigatures": "'calt' on, 'liga' on"(仅对原生支持 OpenType 的字体有效) - 字符串内或正则中出现连字(如
"a=>b"或/==>/)属于误触发,可在语言设置中关闭:"[javascript]": { "editor.fontLigatures": false }
最容易被忽略的是:改完配置后必须完全退出 VSCode 进程(Windows 右键任务栏→“退出”,macOS 按 Cmd + Q),否则旧渲染进程仍在,连字永远不会生效。还有就是中英文混排时,Fira Code 不含中文,必须在 editor.fontFamily 里补上中文字体兜底,否则中文注释会 fallback 到模糊的系统默认字体。











