files.exclude是唯一控制侧边栏文件树显示的配置,必须用/开头的glob模式(如/.git)、写入工作区.vscode/settings.json才生效,且需同步配置search.exclude才能避免全局搜索扫到。
files.exclude 配置写对了才生效,不是改完就自动隐藏
VSCode 的
是唯一控制侧边栏文件树是否显示某类文件的配置项,但它**不支持通配符简写、不继承 .
git
ignore、也不按文件系统隐藏逻辑工作**。常见失效原因不是语法错,而是路径模式没匹配上或被工作区设置覆盖。
关键点:
必须带开头的
,只写
或
无法匹配子模块里的
目录
才能隐藏所有层级的
文件(包括 Unity 项目中每个 asset 旁生成的);
只匹配顶层
如果项目根目录有
,它会完全屏蔽用户级设置,必须在该文件里加
修改后无需重启,保存即刻从资源管理器消失——但搜索(Ctrl+Shift+F)仍可能扫到,需同步配
Windows 用户别折腾反斜杠,统一用 / 就行
VSCode 内部路径解析器自动标准化分隔符,无论 Windows 还是 macOS,
中所有 glob 模式都必须用正斜杠
。写成
或
不仅无效,还会导致整个规则被忽略。
正确写法示例:
错误写法(直接失效):
(转义反斜杠,VSCode 不识别)
(漏掉
,只隐藏项目根目录下的 .meta)
(混用符号,glob 解析失败)
search.exclude 要单独配,否则 Ctrl+Shift+F 还是扫出 .meta
只管侧边栏,不影响搜索范围。Unity 或 Unreal 工程里满屏
文件,光隐藏树形结构没用——搜代码时仍会返回一堆干扰结果。
Git
程序猿必备版本控制工具
下载
必须显式配置
,且规则和
基本一致:
同样要用
,不能省略
可以复用
的大部分条目,比如也加
避免搜到 Git 内部文件
注意
对
默认已启用,但
不在默认列表里,必须手动加
完整片段参考:
工作区设置优先级最高,别在用户设置里白改
如果你在一个具体项目里改了用户级
(全局设置),却发现
还在侧边栏——大概率是该项目根目录下存在
,且里面没写
,或者写了但值为
。
检查顺序永远是:工作区设置 → 用户设置 → 默认值。解决方法只有两个:
删掉项目里的
(如果不需要其他工作区特有配置)
编辑
,把
和
显式补全
别指望“全局设置能兜底”——VSCode 的设计就是工作区配置一锤定音。这也是为什么很多人反复修改用户设置却没效果。
实际生效的关键不在语法多炫,而在 **
是否写全、工作区配置是否存在、以及
有没有同步补上**。漏掉任意一点,.git 或 .meta 都会照常出现在你眼前。
files.exclude"**/.git"**/".git""/.git".git"**/*.meta".meta"*.meta".vscode/settings.jsonfiles.excludesearch.excludefiles.exclude/"\.git""\.meta"
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/*.meta": true,
"**/.DS_Store": true
}
}"\.git": true"*.meta": true**/"**.git": truefiles.exclude.metasearch.excludefiles.exclude"**/*.meta"**/files.exclude"**/.git"search.excludenode_modules.meta
{
"files.exclude": {
"**/.git": true,
"**/*.meta": true
},
"search.exclude": {
"**/.git": true,
"**/*.meta": true
}
}settings.json.git.vscode/settings.jsonfiles.excludefalse.vscode/settings.json.vscode/settings.jsonfiles.excludesearch.exclude**/search.exclude