右键文件或文件夹选“隐藏”是最快方式:VS Code 1.80+ 支持右键 Hide 临时隐藏,仅当前窗口生效,不修改配置、无需重启;灰色不可点说明选中了符号链接或已被 files.exclude 覆盖。

右键文件或文件夹选“隐藏”是最快方式
VS Code 从 1.80 版本起支持对资源管理器中任意文件或文件夹右键 → Hide,操作后立刻从左侧树形视图消失,无需改配置、不用重启。这个动作是临时的,只在当前窗口生命周期内生效——关闭再重开文件夹,它又会回来。
常见错误现象:Hide 选项灰色不可点?说明你选中的不是普通文件/文件夹,而是符号链接(symlink)、网络挂载路径,或该条目已被 files.exclude 规则覆盖(比如 "**/*.exe": true 已全局过滤,右键菜单里根本不会出现 Hide)。
使用场景:
- 临时清理视觉干扰,比如调试时想专注源码,先藏掉生成的
build/或out/ - 快速验证某个文件是否被误加到 Git 跟踪列表(隐藏后看
Source Control视图是否还显示它) - 和同事共享屏幕时,避免敏感配置文件(如
.env.local)意外入镜
files.exclude 不是“临时”,但可秒级切换
真正意义上的“临时隐藏”其实不存在于 files.exclude 机制里——它一写就生效,一删就恢复,但整个过程可以控制在 5 秒内完成,体验接近临时。
实操建议:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Preferences: Open Workspace Settings (JSON),直接编辑当前项目.vscode/settings.json - 在
"files.exclude"对象里加一行:"build/": true(注意结尾斜杠,表示文件夹;不加斜杠可能匹配不到) - 保存后,资源管理器立刻刷新,
build/消失;想恢复?删掉这行,保存即可 - 别用
"**/build/**": true这类宽泛模式——它会把src/build/、tests/build/全干掉,而你只想藏根目录下的构建产物
为什么 Ctrl+P 还能搜到被“右键隐藏”的文件?
右键 Hide 只影响资源管理器(Explorer)的渲染,Ctrl+P(快速打开)和 Ctrl+Shift+F(全局搜索)完全不受影响。这是设计使然,不是 bug。
如果你发现某文件在资源管理器里看不见,但 Ctrl+P 还能搜出来,那基本可以确定:它没被 files.exclude 过滤,只是被右键临时隐藏了。反之,如果 Ctrl+P 也搜不到,说明 files.exclude 或 search.exclude 已介入。
容易踩的坑:
- 误以为右键隐藏 = 全局屏蔽,结果在终端运行
node build/index.js失败,才发现build/根本不在工作区根目录下(路径错了) - 在多人协作项目里右键隐藏了
package-lock.json,自己看着清爽,但队友拉代码后没意识到这个文件被你“藏”过,提交时漏掉了更新 - 扩展(如 ESLint、GitLens)会主动读取被右键隐藏的文件,所以在问题面板或 Git diff 中仍能看到它们——隐藏仅作用于 Explorer 视图
没有“撤销隐藏”按钮,但有快捷路径
VS Code 不提供“撤销上一次隐藏”的功能,但你可以用最短路径找回所有被右键隐藏的条目:
打开命令面板(Ctrl+Shift+P),运行 Developer: Toggle Developer Tools,切到 Console 标签页,粘贴执行:
Object.keys(vscode.workspace.getConfiguration('files').get('exclude')).filter(k => k.includes('/'))
这行代码会列出当前生效的所有 files.exclude 规则——注意,它不包含右键隐藏的记录,因为那些状态不落盘、不写配置、不进内存对象。右键隐藏的唯一恢复方式,就是重新打开文件夹(File > Close Folder → File > Open Folder)。
复杂点在于:右键隐藏和 files.exclude 可能叠加生效。比如你先右键藏了 dist/,又在设置里加了 "dist/": true,此时即使关闭再重开文件夹,dist/ 依然不会出现——得先把配置删了,再重开。











