侧边栏图标不显示是因为当前ui主题未定义icon_folder或icon_file_type规则,必须切换至支持该类class的主题(如afileicon dark/light),并运行a file icon: rebuild icons命令,同时确保file_icons:true且ignored_packages未禁用default主题。

侧边栏图标不显示?先确认主题是否支持 icon_folder 和 icon_file_type
Sublime Text 的侧边栏图标根本不由设置项控制,"file_icons": true 这类配置只影响文件后缀小图标(如 .js 右侧的 JS 标识),对文件夹和主图标无效。真正决定图标能否出现的是当前启用的 .sublime-theme 文件里有没有定义 "class": "icon_folder" 或 "class": "icon_file_type" 规则。
默认主题(如 Default.sublime-theme)完全没写这些规则,所以装了 A File Icon 也没用。必须换用 Material Theme、AYU、Adaptive 等自带图标的主题,或手动补全规则。
- 检查当前主题:菜单 Preferences → Theme,看显示的是什么(别凭印象,默认可能是
Adaptive.sublime-theme,但可能已被覆盖) - 验证规则存在:用
PackageResourceViewer打开当前主题文件,搜索"class": "icon_folder"—— 没这行就注定没文件夹图标 - 别信“自动启用”:Material Theme 需显式加
"material_theme_icons_tree_view": true;AYU 要确保用户设置里没禁用"file_icons": true(它可能藏在 theme 自带 settings 里)
想换文件夹图标?改 layer0.texture 路径,不是 PNG 文件名
文件夹图标由 "class": "icon_folder" 规则里的 layer0.texture 字段指定,它是个相对路径,指向主题目录下的 PNG 文件,不是随便填个文件名就能生效。
常见错误是写成 "layer0.texture": "folder-closed.png" 或绝对路径,结果图标消失。正确做法是:
- 把新图标(尺寸必须是 16×16 或 32×32,PNG 格式)放进主题目录同级位置,例如
Packages/User/MyTheme/folder-closed.png - 在自定义主题中写路径:
"layer0.texture": "MyTheme/folder-closed.png"(路径前缀是包名,不是文件系统路径) - 确保
layer0.opacity是1.0,否则图标发灰;若用了layer0.tint,会叠加染色,白色图标可能变灰
冷门后缀(如 .env、.toml)没图标?映射到内置图标名,不是文件名
A File Icon 不支持任意路径或自定义 SVG,所有“换图标”本质是把扩展名绑定到插件内置的图标标识符上。映射错一个字符,就 fallback 成空白文档图标。
操作位置是:Preferences → Package Settings → A File Icon → Settings – User,内容示例:
{
"file_icons": {
".env": "dotfile",
".toml": "config",
".astro": "html"
}
}
- 右值(如
"dotfile")必须是 A File Icon 文档列出的合法图标名,不能写"env-icon"或"./icons/env.png" - 扩展名要带点(
".env"),不是"env";大小写敏感,".TS"和".ts"要分开写 - 改完保存后,已打开项目不会自动刷新,必须执行命令面板里的
A File Icon: Rebuild Icons,或关闭再重开项目
为什么改了主题图标还是不对?layer0.tint 和 color_scheme 会叠加干扰
图标颜色不是 PNG 原样显示,它受两层控制:layer0.tint(主题层)和 "Sidebar row" 的 foreground(配色方案层)。容易踩坑的是:
-
layer0.tint是三元整数数组(如[200, 200, 200]),会像滤镜一样混合图标颜色——设成[0, 0, 0]就变纯黑,[255, 255, 255]才接近原图 - 配色方案(
.sublime-color-scheme)里若没明确定义"name": "Sidebar row"的foreground,Sublime 会回退到 theme 内置的极淡文字色,导致图标和文字都难分辨 - 某些主题(如 Origami)把文件夹图标和展开箭头塞在同一 rule 里,改错
class名称会导致整个侧边栏图标清零
真要调得精准,得同时打开主题文件和配色方案文件,盯着 sidebar_container、icon_folder、"Sidebar row" 三处一起调,少一个环节都可能白忙活。











