必须执行icons: activate icons命令才能激活vscode-icons插件,因其初始化需该命令触发配置写入、语言映射加载及文件夹图标启用,手动修改settings.json或重启无效。

vscode-icons 插件装完没图标?必须执行 Icons: Activate Icons
装完 vscode-icons 后资源管理器还是默认文件图标,不是插件坏了,是它根本没被激活。这个插件不靠 Preferences: File Icon Theme 一次性写入配置,而是依赖 Icons: Activate Icons 命令触发完整初始化流程——包括写入 "workbench.iconTheme": "vscode-icons"、加载语言映射表、启用文件夹图标等。
常见错误现象:
- 手动在
settings.json加了"workbench.iconTheme": "vscode-icons"但图标仍不显示 - 重启 VS Code 后图标偶尔出现、偶尔消失
- 某些文件(如
.env.local)始终显示空白页图标
正确做法:
- 按
Cmd+Shift+P(Mac)或Ctrl+Shift+P(Win/Linux)打开命令面板 - 输入
Icons: Activate Icons并回车(注意不是Enable All,那是后续步骤) - 执行后检查
settings.json是否已自动写入该行;若没有,说明命令未成功执行 - 再执行一次,或尝试禁用其他图标类插件(如
Material Icon Theme)后重试
Material Icon Theme 怎么匹配 .env.* 这类多段后缀?
Material Icon Theme 默认不识别 .env.local 或 .prettierrc.cjs,因为它的内置规则只覆盖单段后缀(如 .env),而多段后缀需手动映射到 material-icon-theme.files.associations。
关键点:
-
.env.*是 glob 模式,但 VS Code 不支持通配符匹配多段后缀;实际生效的是.env(一级后缀) - 要匹配
.env.local,得单独写".env.local";想覆盖所有.env.*,目前无通用方案 - 推荐写法:
".env.local": "gear"、".prettierrc.cjs": "settings"、".eslintrc.js": "settings" - 改完必须执行
Developer: Reload Window,尤其在 Dev Container 或 Codespaces 中,热更新不生效
工作区 settings.json 会静默覆盖全局图标设置
你在一个项目里设置了 "workbench.iconTheme": "minimal-icons",结果整个 VS Code 都变成极简风格——这不是 bug,是设计行为。VS Code 优先读取 .vscode/settings.json,且界面不会提示当前生效的是哪个层级的配置。
排查方式:
- 打开命令面板,执行
Preferences: Open Settings (JSON),看打开的是用户级还是工作区级文件 - 检查工作区
.vscode/settings.json是否存在workbench.iconTheme字段 - 如果存在,删掉或注释掉该行,再重启窗口
- 别指望“重置设置”按钮能清掉工作区配置——它只影响用户级
Minimal Icons 为什么改不了 .env 图标?它压根不支持自定义
Minimal Icons 的定位就是“零干扰”,所以砍掉了所有映射能力:不支持 files.associations、不支持文件夹颜色、没有 SVG 源文件可编辑。它只根据 languageId 和基础扩展名做硬编码匹配。
这意味着:
- 你无法给
.env加锁形图标,也无法让src/文件夹显示特殊图标 - 即使改了
settings.json,只要插件本身没暴露配置项,就完全无效 - 它适合写文档、教学、长期盯屏场景,但不适合工程化项目——尤其是需要区分
.env.development和.env.production的前端项目
真正容易被忽略的是:图标主题是否生效,从来不是“装了插件就完事”,而是“配置写在哪层 + 命令有没有真正触发 + 其他插件有没有劫持”。漏掉任意一环,图标就卡在空白状态。











