sublime text 无原生图标主题,图标显示依赖 a file icon 插件 + 支持图标的 ui 主题协同工作,所有图标源自 octicons 字体;需满足三条件:st 版本 ≥ 4.4192、启用兼容主题(如 adaptive)、用户设置顶层含 "file_icons": true;冷门后缀(如 .env、.toml)须手动映射至内置图标名(如 "dotfile"、"config")。

Sublime Text 本身没有“图标主题”这个东西
它不支持像 VS Code 那样直接加载一套 SVG/PNG 图标集。所谓“自定义图标”,本质是 A File Icon 插件 + 支持图标的 UI 主题(.sublime-theme)协同工作的结果。图标全部来自内置的 Octicons 字体,不是图片文件。你无法“制作一个图标包”然后一键安装——只能控制哪些文件显示哪个字体图标、颜色和大小。
让 .env、.toml 这类冷门后缀显示图标的关键配置
默认情况下,A File Icon 只认常见后缀(.js、.py、.md 等)。要让 .env 或 .toml 显示图标,必须手动映射到它已有的图标名:
- 打开
Preferences → Settings - User - 在顶层 JSON 中添加
"file_icons"对象(不是嵌套在其他字段里) - 映射规则形如:
{".env": "dotfile", ".toml": "config"} - 可用的图标名见
A File Icon文档,常见有dotfile、config、script、data等
注意:映射生效的前提是当前 UI 主题(比如 Adaptive.sublime-theme)已为这些 class 预留了渲染逻辑;否则仍为空白或问号。
改图标颜色和大小只能靠 Customize Theme 或主题自身支持
A File Icon 不提供全局配色设置入口。调颜色得走两条路:
- 如果用的是
Material Theme,可在用户设置里加:"material_theme_small_file_icons": true和"material_theme_tree_headings": false等开关,间接影响图标表现 - 更通用的方式是装
Customize Theme插件,然后在Preferences → Package Settings → Customize Theme → Edit Custom Rules里加 rule:
[
{
"class": "icon_file_type",
"attributes": ["dotfile"],
"layer0.tint": [255, 105, 180]
}
]
这里 "class": "icon_file_type" 是 A File Icon 注入的 class,"attributes": ["dotfile"] 表示匹配该图标类型,layer0.tint 控制颜色(RGB 数组)。
为什么图标死活不显示?三个硬性条件缺一不可
不是缓存问题,也不是插件没装好,而是以下三点必须同时满足:
-
Sublime Text版本 ≥4.4192(低于此版本会静默失效;查法:Help → About Sublime Text) - 当前启用的 UI 主题支持图标(
Default和Slush & Poppies不支持;推荐用Adaptive.sublime-theme或Material Theme) - 用户设置顶层有且仅有:
"file_icons": true(拼错、缩进错、嵌套在"theme"里都无效)
少一个,侧边栏就只显示文字。别折腾 CSS 或重启十次,先盯住这三条。
真正难的不是加图标,而是理解 Sublime 的图标机制根本不走“资源包”路径——它是字体 + class + 主题渲染三层咬合的结果。改错一层,整条链就断。











