连字必须同时满足系统装对字体、VSCode读到正确字体名、显式启用ligatures三条件:先确认系统字体册中存在并能验证连字效果,再在settings.json中严格按注册名配置"editor.fontFamily"和"editor.fontLigatures": true,终端需单独配置terminal.integrated.fontFamily与terminal.integrated.fontLigatures,且必须完全退出VSCode后重启。

连字不是“开了就自动生效”的功能,必须同时满足「系统装对字体」「VSCode 读到正确字体名」「显式启用 ligatures」三个条件,缺一不可。
确认系统已安装支持连字的字体(如 Fira Code、JetBrains Mono)
VSCode 不自带字体,只从系统字体册读取。安装后不等于被识别:
- 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 中正确配置 fontFamily 和 fontLigatures
GUI 设置容易被覆盖或隐藏,直接改 settings.json 最可靠:
-
"editor.fontFamily": "'Fira Code', 'JetBrains Mono', 'Cascadia Code', monospace"—— 单引号包裹每个字体名,逗号后加空格,末尾保留monospace保底 -
"editor.fontLigatures": true—— 必须是布尔值true,不是字符串"true"或"calt"(后者仅在极少数定制字体如 Maple Mono SC NF 中需写成'calt') - 字体名必须与系统注册的「全名」完全一致,大小写、空格、连字符都不能错;比如 macOS 上装的是
FiraCode-Retina,就不能只写Fira Code - 改完保存后,必须**完全退出 VSCode(不是关窗口,是 Quit / 退出进程)再重开**,否则新字体不会加载
终端(Integrated Terminal)连字要单独配,和编辑器互不影响
很多人调了编辑器字体却看不到终端里的 => 连字,就是卡在这一步:
-
"terminal.integrated.fontFamily": "'Fira Code', 'JetBrains Mono', monospace"—— 和编辑器配置是两套字段,不能复用 -
"terminal.integrated.fontLigatures": true—— 同样必须显式开启,且仅当fontFamily指向支持连字的字体才有效 - 注意:终端里的连字只作用于 shell 提示符(如
❯)、Git 状态符号(⇡)、以及部分语法符号(Rust 的=>、JSX 的);console.log()输出的纯文本字符串不会触发连字 - 终端行高建议设为
"terminal.integrated.lineHeight": 1.25,太小(如1.0)会导致多行日志粘连
最容易被忽略的一点:字体名拼错、没重启 VSCode、终端和编辑器配置混用——这三类错误占连字失败案例的 90% 以上。连字本身不改变代码行为,但一旦配置错,你看到的不是“没效果”,而是“字体回退到 Courier New”这类静默降级,很难察觉。


















