Cascadia Code 连字生效需同时满足三条件:字体正确安装并被系统识别、editor.fontFamily 精确填写注册名(如 'Cascadia Code')、editor.fontLigatures: true;常见失败源于系统未加载字体,而非 VSCode 设置错误。

直接上结论:Cascadia Code 的连字功能必须同时满足「字体已正确安装」「editor.fontFamily 中精确写出字体名」「editor.fontLigatures 设为 true」,三者缺一不可;多数人卡在第一步——系统根本没识别到字体。
为什么装了 Cascadia Code 还不显示连字?
常见错误现象是:!=、=>、=== 依然显示为普通字符组合,没有变成 ≠、⇒、≡ 等连体符号。根本原因不是 VSCode 设置错了,而是字体未被系统真正接纳。
- Windows 下需以管理员身份运行安装程序(.msi 或 .exe),双击静默安装往往失败;验证方式:打开「字体设置」或运行
fontview,搜索 “Cascadia Code”,必须看到完整字重列表(Regular、Light、Semibold、PL 等) - macOS 必须用 Font Book 安装,不能靠
cp或brew font复制到/Library/Fonts—— VSCode 只读 Font Book 注册的字体 - Linux(如 Ubuntu)需运行
sudo fc-cache -fv刷新 fontconfig 缓存,且确认fc-list | grep "Cascadia"有输出 - 字体名拼错最隐蔽:实际注册名是
Cascadia Code(带空格),不是CascadiaCode、Cascadia-Code或CascadiaCodePL(后者是变体,需单独启用)
settings.json 中怎么写才生效?
关键不是“填对字体”,而是按优先级顺序 fallback,并显式启用连字。VSCode 不会自动探测字体能力,必须人工声明。
智能搜索代理,支持跨网页、学术、Tavily 及 Perplexity Sonar 模型的多源检索。
-
"editor.fontFamily": "'Cascadia Code', 'Cascadia Code PL', 'Fira Code', monospace"—— 建议把 PL(Programming Ligatures)版本放第二位,它专为连字优化,比 Regular 版本支持更多组合(如->、~>) -
"editor.fontLigatures": true必须写在用户设置或工作区设置里,不能只靠插件或主题带进来 - 别漏掉字号和行高配合:
"editor.fontSize": 15、"editor.lineHeight": 1.6,过小字号会让连字糊成一团,尤其在非高分屏上 - 如果项目里有
.vscode/settings.json,它会覆盖全局设置——务必检查该文件是否意外禁用了fontLigatures
终端里连字也想开?得单独配
VSCode 集成终端(Terminal)的字体是独立控制的,编辑器开了连字,终端默认还是关闭状态。
- 必须加这一项:
"terminal.integrated.fontFamily": "Cascadia Code"(注意:这里不用单引号包裹,也不用逗号 fallback,终端不支持多字体回退) -
"terminal.integrated.fontSize": 13或14即可,终端文字通常比编辑器小一号更清晰 - 连字开关复用
editor.fontLigatures,无需额外配置——但前提是终端字体名和编辑器一致,否则连字逻辑压根不触发 - Windows Terminal 或 Windows 11 的新终端若已设 Cascadia Code,VSCode 终端会继承;但 macOS 的 iTerm2 或 Kitty 配置不影响 VSCode 终端
最容易被忽略的是:Cascadia Code PL 版本需要手动下载安装(GitHub Release 页面单独提供),它不是 Cascadia Code 主包默认包含的;没装 PL 版,async/await、...spread 这类现代 JS 连字就出不来——不是设置问题,是字体本身没这个 glyph。

















