VSCode集成终端字体_解决终端中Icon图标显示乱码

浅丽小哥_7885

浅丽小哥_7885

2026-04-11

925人浏览

原创

终端图标显示为方块或问号,本质是terminal.integrated.fontfamily未加载nerd font等支持pua图标的等宽字体;需安装cascadia code pl等补丁字体,正确配置字体链,重启终端进程,并确保locale为utf-8。

vscode集成终端字体_解决终端中icon图标显示乱码

终端图标显示为方块或问号,本质是字体不支持连字或 Nerd Font 图标集

VSCode 集成终端里 ls、git status 或 Oh My Zsh 主题中的图标(如 ?、、)显示为方块、问号或空格,不是编码问题,而是当前 terminal.integrated.fontFamily 没加载带图标的等宽字体。默认的 Consolas、Fira Code(非 Nerd 版)本身不含这些私有 Unicode 区域(PUA)符号。

  • 必须使用已打过补丁的 Nerd Font,比如 Cascadia Code PL、JetBrainsMono Nerd Font、MesloLGS NF,不能只写 Cascadia Code
  • Windows 用户推荐优先试 Cascadia Code PL(微软官方维护,原生含中文+图标,无需额外配中文字体)
  • macOS/Linux 用户注意:字体名必须拼写完全一致,PingFang SC 有效,苹方 无效;Noto Sans CJK SC 要带空格和 SC 后缀
  • 配置时用单引号包裹每个字体名,逗号后加空格,例如:'Cascadia Code PL', 'Microsoft YaHei', 'monospace'

terminal.integrated.fontFamily 配置后图标仍不显示?检查是否关掉了旧终端进程

VSCode 不会热更新终端字体——改完设置后,必须关闭所有已打开的终端页签(Ctrl+Shift+` 打开的每一个),再按 Ctrl+Shift+` 新建一个。只点「×」关掉当前页签、或 reload 窗口,旧进程的字体缓存仍在,图标不会刷新。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 验证是否生效:新开终端后运行 echo ""(复制这个字符粘贴执行),若显示为图标而非方块,说明字体加载成功
  • 如果只在部分命令(如 ls -la)里图标异常,可能是该命令本身未启用图标支持(如 ls 需搭配 lsd 或 exa,git 需配 git config --global status.showUntrackedFiles no 等)
  • PowerShell 用户额外注意:$OutputEncoding 设错会导致图标字节被截断,即使字体对也显示为空——务必确认 [Console]::OutputEncoding 返回的是 System.Text.UTF8Encoding

Windows 下 Cascadia Code PL 安装后 VSCode 还找不到字体?路径或注册表没刷进系统

VSCode 读取的是系统级字体列表,不是文件路径。下载 CascadiaCode-PL.ttf 后双击安装,必须点「安装」按钮(不是「预览」),并确保 Windows 字体文件夹(C:\Windows\Fonts)里真有对应文件。有时右键「为所有用户安装」更可靠。

  • 安装后可打开「字体设置」→ 搜索 Cascadia,确认「Cascadia Code PL」条目存在且状态为「已安装」
  • 若仍不识别,重启 Windows 资源管理器(任务管理器 → 重启 explorer.exe)或直接重启系统
  • 不要在 terminal.integrated.fontFamily 里写绝对路径,VSCode 不支持;只写字体全名

Linux/macOS 终端图标乱码,别漏了 locale 和 shell 配置

字体对了但图标还是乱,大概率是 shell 启动时 locale 未设 UTF-8,导致终端底层把图标字节当非法序列丢弃。尤其 WSL、iTerm2、Alacritty 等外部终端复用到 VSCode 时更明显。

  • 先在 VSCode 终端里运行 locale,确认 LANG 是 zh_CN.UTF-8 或 en_US.UTF-8,不是 C 或空
  • 若不对,在 settings.json 中补环境变量:"terminal.integrated.env.linux": {"LANG": "zh_CN.UTF-8"}(macOS 对应 osx)
  • Zsh 用户检查 ~/.zshrc 是否覆盖了 LANG,常见错误是写了 export LANG=C —— 这会直接禁用所有 UTF-8 图标输出
  • Git Bash 用户需在安装时勾选「Use Windows' default console code page」取消,否则强制走 GBK,图标必炸
字体链配置、终端重启、locale 三者缺一不可。最容易忽略的是:以为改了设置就完了,其实旧终端进程还卡在老字体里。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2135

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3262

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1096

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3739

7

console接口是干嘛的
console接口是干嘛的

console接口是一种用于在计算机命令行或浏览器开发工具中输出信息的工具,提供了一种简单的方式来记录和查看应用程序的输出结果和调试信息。本专题为大家提供console接口相关的各种文章、以及下载和课程。

2023.08.08

856

5

console.log是什么
console.log是什么

console.log 是 javascript 函数,用于在浏览器控制台中输出信息,便于调试和故障排除。想了解更多console.log的相关内容,可以阅读本专题下面的文章。

2024.05.29

6243

7

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6359

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1840

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程