VSCode字体和连字失效主因是字体未系统级安装、字体名与注册名不一致或编辑器/终端配置混淆;须双击安装.ttf/.otf文件,用字体册查“全名”,在settings.json中以单引号正确填写'Fira Code'等,并设"editor.fontLigatures": true,同时为终端单独配置terminal.integrated.fontFamily。

VSCode 里字体和连字配不生效,90% 是字体没装对、名字写错、或编辑器和终端配置混了。
怎么确认字体已正确安装并被 VSCode 读到
VSCode 不会读取未注册进系统的 .ttf / .otf 文件,双击安装是硬性前提。Windows 用户装完可直接在 C:\Windows\Fonts 里搜字体名;macOS 必须打开“字体册”,右键字体 → “显示简介”,复制“全名”字段(不是文件名,比如 FiraCode-Retina 或 Fira Code,少个空格都不行)。
验证是否加载成功:按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 Developer: Toggle Developer Tools,在 Console 里执行:
getComputedStyle(document.body).fontFamily
如果返回值不含你设的字体名(比如只看到 "Consolas, 'Courier New', monospace"),说明 editor.fontFamily 根本没生效。
- 检查
settings.json是否被工作区设置(.vscode/settings.json)覆盖 - 禁用主题插件(如 One Dark Pro),有些主题会强制重载字体配置
- 某些显卡驱动下 GPU 加速会导致字体渲染异常,可临时用
code --disable-gpu启动验证
editor.fontFamily 怎么填才不踩坑
字体名必须和系统注册名完全一致,且带空格/连字符的必须用单引号包裹。错误写法:"Fira Code"(没引号)、"'Fira Code'"(双引号套单引号,UI 设置里会被当整体字符串);正确写法:'Fira Code' 或 'FiraCode-Retina'。
- 多个字体用英文逗号分隔,末尾不加顿号:
'Fira Code', 'JetBrains Mono', monospace - Windows 通常认
Fira Code,macOS 多数要FiraCode-Retina或Fira Code Medium,靠猜不如查字体册 - 非系统字体(如从 GitHub 下载的
JetBrainsMonoNL.ttf)必须双击安装,VSCode 不会扫描任意路径下的字体文件
连字(ligatures)为什么开了还是不合并符号
连字需要两个条件同时满足:editor.fontLigatures 为 true,且字体本身真包含对应连字形(glyph)。Fira Code 支持 =>、!=、===,但不支持 **=;JetBrains Mono 默认关闭部分连字,得用 JetBrains Mono NL(NL 表示 No Ligatures 的反义,即启用更多)。
- 在
settings.json中必须显式加这一行:"editor.fontLigatures": true,GUI 勾选有时不写入配置文件 - VSCode 1.84+ 对连字支持更稳,旧版本可能
=>正常但==>失效 - 某些符号(如 JSX 中的
或 TypeScript 的=>)受语法高亮层叠影响,关掉editor.semanticHighlighting可排除干扰
终端字体和编辑器字体是两回事
editor.fontFamily 完全不影响集成终端显示。终端字体必须单独配:terminal.integrated.fontFamily。很多人配完 Fira Code 发现终端还是 Consolas,就以为“整个配置失败”,其实只是漏了这行。
- 终端字体也要先装进系统,再填名字,规则和编辑器一致
- 终端不支持连字(截至 2026 年 4 月),
editor.fontLigatures对它无效 - 终端字号、行高、字符间距都需额外配置,和编辑器无关
最易忽略的一点:字体名拼写错误 + 未重启 VSCode。macOS 上从 zip 解压安装后,常需重启 VSCode 才能识别新字体,不是改完 settings.json 就立刻生效。


















