填正确字体名如'MesloLGS NF'才生效,需系统注册、shell提示符启用Nerd Font模式、关闭GPU加速并设置lineHeight≥1.3。

terminal.integrated.fontFamily填什么才真正生效
VSCode 不会扫描你电脑里所有已安装的字体,它只按你写的字符串去系统字体 API 查找。填错就直接退到 monospace,图标全变方块。
-
MesloLGS NF有效,MesloLGLNerdFontComplete.ttf(文件名)无效 - 含空格必须加单引号:
'MesloLGS NF'正确,MesloLGS NF会被截断为MesloLGS - 多个字体用英文逗号分隔,且优先匹配最前面的:
'Cascadia Code PL', 'Fira Code Retina', monospace - 别信设置里的下拉菜单——VSCode 设置界面不显示 Nerd Font 名称,必须手动敲,大小写、空格、标点一个都不能错
字体装了但终端还是显示方块?先查系统是否认出它
双击安装 .ttf 文件 ≠ 系统注册成功。不同系统验证方式差异很大:
- macOS:必须放
/Library/Fonts/(全局)或~/Library/Fonts/(用户级),~/Downloads/或桌面安装常失败;打开「字体册」App 搜索MesloLGS NF,能搜到才算有效 - Linux:字体放到
/usr/share/fonts/truetype/或~/.local/share/fonts/后,必须运行fc-cache -fv,否则fc-list | grep "Meslo"查不到 - Windows:安装后进「设置 → 蓝牙和其他设备 → 字体」确认列表里有;若仍无效,用 PowerShell 运行
Get-Font | Where-Object {$_.Name -like "*Nerd*"}检查
字体对了,图标还是不显示?问题在 shell 提示符没启用 Nerd Font 模式
字体只是画笔,真正输出 、 或 Powerline 箭头的是你的 shell 提示符。终端能渲染 ≠ 提示符在用。
- zsh + Powerlevel10k:必须在
~/.p10k.zsh中设typeset -g POWERLEVEL9K_MODE='nerdfont-complete',或重跑p10k configure并选「Lean」主题+启用图标 - PowerShell + Oh My Posh:初始化命令里
--config指向的主题 JSON 必须支持 Nerd Font(如jandedobbeleer.omp.json),且其中blocks[].font字段需设为"Nerd Font"或留空 - bash 用户容易忽略:默认
PS1不含任何 Powerline 符号,得手动集成powerline-shell或改用bash-it的 Nerd Font 插件
terminal.integrated.gpuAcceleration 开启反而模糊?关掉它
VSCode 1.85+ 默认开启 GPU 加速渲染终端,但它在 Intel 核显、旧 NVIDIA 驱动、甚至部分 macOS 外接屏场景下会失效,导致字体发虚、符号错位、行高塌陷。
- 打开设置(Cmd + , 或 Ctrl + ,),搜索
terminal integrated gpuAcceleration - 将
terminal.integrated.gpuAcceleration设为off(不是auto) - 必须关闭所有终端页签,再新开一个——改完不重启终端,等于没改
- 顺带配好
terminal.integrated.lineHeight:Powerline 字体至少设1.3,否则箭头、分支符号底部会被裁切


















