vscode原生不支持按文件夹名设置颜色,唯一稳定方案是material icon theme配合folders.associations、folders.color和folders.theme:"specific"实现图标高亮;workbench.colorcustomizations无法绑定路径或名称,css注入在1.80+版本已被禁用。

VSCode 不支持按文件夹名设置颜色主题
直接在 settings.json 里写 "folders.nameColorByPattern" 或类似字段,VSCode 会完全忽略——它原生没有这个配置项。所有试图用 workbench.colorCustomizations 绑定路径或文件夹名的尝试,都会失败,因为该配置只接受全局 UI 状态(如 list.focusForeground),不支持路径/名称维度的条件匹配。
真正能生效的方案:Material Icon Theme + folders.associations
视觉上“区分文件夹”的唯一稳定路径,是靠图标语义 + 统一底色,把注意力引向图标本身:
-
"material-icon-theme.folders.associations"中的键必须是纯文件夹名(如"src"、"config"),不能带斜杠或通配符 - 值必须是 Material Icon Theme 官方支持的图标标识符(如
"src"、"config"、"node"),查不到就无效 -
"material-icon-theme.folders.theme": "specific"是开关,缺了这句,前面的 associations 全部不生效 -
"material-icon-theme.folders.color"只接受十六进制(如"#ff6b6b"),不支持rgb()或命名色
示例配置(放在 settings.json 顶层):
"material-icon-theme.folders.associations": {
"src": "src",
"config": "config",
"node_modules": "node"
},
"material-icon-theme.folders.color": "#ff6b6b",
"material-icon-theme.folders.theme": "specific"
为什么 CSS 注入或自定义 colorCustomizations 行不通
有人用 vscode-custom-css 写 .explorer-item[data-name="config"] 强行改文字色,但截至 2026 年 7 月:
- VS Code 1.80+ 已禁用非白名单 CSS 注入,插件会报错或被静默屏蔽
- 资源管理器 DOM 结构频繁变动,选择器极易失效(比如
data-name在折叠/刷新后可能消失) - 即使临时生效,也会破坏高 DPI 缩放、暗色/浅色模式切换、以及远程开发(SSH/Dev Container)下的渲染一致性
容易被忽略的关键点
配置写对了却没效果?大概率卡在这几个地方:
- 工作区
.vscode/settings.json里写了"workbench.iconTheme": null,等于主动关掉所有图标 - 当前启用的不是
material-icon-theme,而是vscode-icons或其他主题——只有前者支持folders.color - 文件夹名含空格或括号(如
my config),folders.associations不识别,得重命名为config或用files.associations间接处理 - 多层 settings(用户 / 工作区 / 远程)冲突时,优先级顺序是:远程 > 工作区 > 用户,别在错误层级改配置











