商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > VSCode怎么隐藏侧边栏特定的文件或文件夹

VSCode怎么隐藏侧边栏特定的文件或文件夹

  发布于2026-05-23 阅读(0)

扫一扫,手机访问

VSCode怎么隐藏侧边栏特定的文件或文件夹

VSCode怎么隐藏侧边栏特定的文件或文件夹

想让侧边栏清爽起来?直接配置 files.exclude 就行。这个设置能让匹配的路径从资源管理器(也就是左侧的文件树)里彻底消失——注意,不是折叠起来,也不是简单忽略,而是真正地“看不见”。

为什么只配 search.exclude 没用

这里有个经典的认知误区:很多人以为“排除”是全局生效的。实际上,search.excludefiles.exclude 是两套完全独立的系统,数据根本不互通。

前者只负责控制 Ctrl+Shift+F 全局搜索的结果,对侧边栏的显示毫无影响。所以,如果你只改了 search.exclude,然后纳闷为什么 node_modules 还在左边晃悠,原因就在于此。

  • 目标:让文件夹从侧边栏消失 → 必须配置 files.exclude
  • 目标:让该文件夹也不出现在搜索结果里 → 需要把一模一样的规则,额外添加到 search.exclude 里。
  • 关键点:两者语法虽然一致,但必须各自写一遍,没有自动同步这回事。

files.exclude 的 glob 路径怎么写才有效

所有路径都相对于工作区的根目录,并且必须使用 glob 模式。这不是正则表达式,也不是简单的本地相对路径。常见的配置失效,十有八九是路径写错了:

  • "node_modules": true → 这只隐藏根目录下的 node_modules。像 packages/foo/node_modules 这种嵌套在子目录里的,完全不管用。
  • "**/node_modules": true → 这才是正确写法。两个星号递归匹配任意层级的同名文件夹。
  • "dist": true → 可能无效。它只匹配根目录的 distsrc/distbuild/dist 都不会被隐藏。
  • "**/dist": true → 正确写法,覆盖所有位置的 dist 目录。
  • "**/logs/**": true → 隐藏所有名为 logs 的目录及其内部的全部内容。
  • 危险操作"**/*": true"**": true → 千万别这么试,除非你想让整个资源管理器变成一片空白。

如何保留某个子目录(比如 @types)

想“网开一面”?用 ! 来做负向排除就行。但这里的顺序非常关键:例外规则必须写在通用规则之后,否则会被提前过滤掉。

  • 错误示范"!node_modules/@types": true, "node_modules": true@types 仍然会被吃掉。
  • 正确写法"node_modules": true, "!node_modules/@types": true, "!node_modules/@types/**": true
  • 从 VS Code 1.85 版本开始,支持更宽松的写法 !**/node_modules/@types/**。老版本建议使用上面那种绝对路径模式。
  • 注意:! 规则只对显式匹配的路径生效,它不会自动递归放行其子目录。所以,记得加上 /** 来确保子内容也被排除在外。

配置该写在哪儿、改完为啥没立刻生效

配置的优先级是这样的:工作区设置(即项目内的 .vscode/settings.json)高于用户全局设置。在多根工作区(Multi-root Workspace)下,每个文件夹都可以有自己的 .vscode 配置,规则互不干扰。

  • 对于团队协作的项目,强烈推荐将规则写入项目根目录的 .vscode/settings.json 中。这样既统一了团队成员的开发环境,又避免污染个人全局设置。
  • 修改配置后,通常不需要重启 VS Code。但如果父文件夹已经展开,可能需要手动折叠再展开一次,侧边栏的显示才会刷新。
  • 如果发现配置没生效,先看一眼编辑器右下角的状态栏,确认当前生效的是「工作区设置」还是「用户设置」。
  • 还有一个容易让人困惑的情况:某些插件(比如 GitLens、ESLint)可能会绕过 files.exclude 的设置,主动去读取文件。这会导致你在插件的专属视图里,仍然能看到被隐藏的路径——别慌,这不是你的配置错了,只是插件的独立行为。

最后,分享一个真正容易被忽略的细节:路径匹配是以斜杠为界的。"build/*" 不会匹配 build 这个文件夹本身,要匹配文件夹得写成 "build": true。反过来,通配符 ** 必须配合斜杠使用,"**dist" 是无效的,正确的写法是 "**/dist"。把握好这个分寸,你的文件树就能乖乖听话了。

本文转载于:https://www.php.cn/faq/2423716.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注