Sublime Text 侧边栏文件图标不显示的根本原因是 theme、icon_theme、file_icons 配置未对齐或主题文件缺失对应图标绘制规则;A File Icon 插件仅提供后缀与 class 映射,真正渲染图标的是 .sublime-theme 中的 icon_file 和 icon_folder 规则。

Sublime Text 侧边栏文件图标不显示,基本就是 theme、icon_theme、file_icons 三者没对齐,或者主题本身压根没画图标——它不会报错,只会留白或显示问号。
为什么装了 A File Icon 还是没图标?
插件只是“告诉 Sublime 哪个后缀该用哪个 class”,真正把图标画出来的,是 .sublime-theme 文件里的规则。Default 和 Adaptive 这两个自带主题,icon_folder 和 icon_file 规则全空,装再多个插件也没用。
-
A File Icon必须认准作者是sublimelsp的版本;kkga 或 braver 分支在 ST4 下常漏规则 - 安装完必须重启 Sublime Text ——
.sublime-theme只在启动时加载,不重启等于没装 - 命令面板里执行
AFileIcon: Rebuild Icon Cache可临时验证,但不能替代重启
Settings – User 里必须写的三项硬配置
这三项必须同时存在、大小写/空格/后缀全对,且都在 JSON 顶层,嵌套在其他对象里就失效。
-
"theme": "Material-Theme.sublime-theme"—— 注意连字符和.sublime-theme后缀,写成"Material Theme"或"Material-Theme"都不行 -
"icon_theme": "A File Icon"—— 大小写敏感,"a file icon"或"Afileicon"都被静默忽略 -
"file_icons": true—— 必须是布尔值true,写成字符串"true"或拼错成file_icon都无效
自定义后缀(如 .env、.toml)怎么加图标?
A File Icon 默认只映射常见后缀,冷门扩展名得手动配 class 名,而且这个 class 必须被当前主题支持。
- 打开
Preferences → Package Settings → A File Icon → Settings – User - 添加映射,例如:
{ "file_icons": { ".env": "dotfile", ".toml": "config", ".yml": "config" } } -
"dotfile"和"config"是插件内置 class 名,不能自己造名字 - 如果用了 Material Theme,还要确认用户设置里有
"material_theme_file_icons": true
文件夹图标和文件图标是两回事
"file_icons": true 只影响文件后缀右侧的小图标,完全不管文件夹。文件夹图标由主题里的 "class": "icon_folder" 规则控制。
- Adaptive.sublime-theme 自带
icon_folder规则,但必须显式设为"theme": "Adaptive.sublime-theme" - Material Theme 把文件夹图标和展开箭头写在一起,改错
class可能导致整个侧边栏图标消失 - 想彻底自定义?用
PackageResourceViewer提取主题文件,在Packages/User/下新建.sublime-theme,只改"icon_folder"对应的layer0.texture路径
最常被忽略的一点:图标是否渲染,不取决于你装了多少插件,而取决于当前生效的 .sublime-theme 文件里有没有对应 class 的绘制规则——哪怕配置全对、插件全装,主题文件里没写那条 rule,图标区域就是空的。











