装完插件图标不显示需按顺序排查:先卸载旧版并安装兼容版本v2.1.45,再启用tree-view图标开关和file-icons设置项,最后强制重载窗口;若仍空白,检查grammar识别和DOM中icon-js类;自定义图标须将config.cson置于项目根目录并设priority。

装完插件图标不显示?先确认 Atom 版本和插件兼容性
Atom v1.60+ 默认安装的 file-icons 会失效,不是你装错了,而是插件主干分支已停更,CSS 注入机制被新版 Atom 移除。直接运行 apm install file-icons 拉下来的包基本没用。
- 必须卸载旧版:
apm uninstall file-icons - 装指定兼容版本:
apm install https://github.com/file-icons/atom/releases/download/v2.1.45/file-icons-2.1.45.tgz - 装完别只点 Restart —— 要进
Settings → Packages → file-icons → Settings,勾选Show icons in tree view和Display file names to the right of icons - 最后执行
Application: Reload Window(快捷键Ctrl+Alt+R或Cmd+Alt+R),强制重载样式表
图标还是空白?检查 grammar 和 tree-view 开关
即使装对了版本,图标仍不出现,大概率卡在两个地方:右下角 grammar 显示为 Plain text,或 tree-view 自身的图标开关被关了。
- 打开任意文件,看右下角状态栏显示的是
JavaScript还是Plain text;错判时右键编辑区 →Grammar→ 手动选对语言 - 进入
Settings → Packages → tree-view → Settings,确认Show Icons是开启状态(默认开,但手动关过就不会自动恢复) - 如果文件名左侧有空隙但图标透明,用
Ctrl+Shift+I打开开发者工具,检查 DOM 中是否有icon-js类和data-name="index.js"属性 —— 没有说明 grammar 或插件根本没生效
想自定义 .env 或 config.js 图标?只认项目根目录下的 config.cson
全局 ~/.atom/config.cson 里写的规则对 file-icons 完全无效。它只读取当前项目根目录下的 config.cson,且靠 priority 决定谁赢。
- 示例:给
.env加齿轮图标:"Env File": icon: "gear" match: ".env" colour: "dark-blue" - 匹配所有测试文件(注意大小写):
"Test JS": icon: "test-js" match: /\.test\.js$/i priority: 2(漏掉i标志,MyTest.js就不匹配) - 只作用于
src/test/下的 JS:matchPath: true+match: /src\/test\/.*\.js$/ - 多个规则匹配同一文件时,
priority数值大的胜出;不写默认是 0
图标错位、文字被遮挡?别改插件源码,改 styles.less
启用 Display file names to the right of icons 后,常见问题是图标挤右边、文字截断、颜色发灰。这不是 bug,是 Atom 对图标宽度估算不准,或主题 CSS 覆盖了变量。
- 编辑
~/.atom/styles.less(不存在就新建),加这行:.tree-view .icon:before { width: 16px !important; } - 若文件名仍被挡住,补上:
.tree-view .file .name { padding-left: 24px; } - 绝对不要去改
packages/file-icons/styles/下的原始 CSS —— 升级插件时会被覆盖 - 图标颜色异常?优先查是否被 UI 主题(如
one-dark-ui)的.icon规则设成了opacity: 0或display: none
config.cson 就该生效,结果发现它压根没被读 —— 因为写在了错误位置,或者没加 priority 导致被默认规则盖掉。

















