客户端左侧资源管理器不显示.git文件夹问题
现象
在 VS Code 中打开一个 Git 仓库项目后,左侧「资源管理器」里找不到 .git 文件夹,即使项目明明已经初始化过 Git(终端执行 git status 正常)。
注意:
.git本身是操作系统层面的「隐藏文件」(以.开头的文件/目录),但 VS Code 默认是显示隐藏文件的。真正导致它在资源管理器里消失的,是 VS Code 自带的排除规则,而不是系统隐藏属性。
原因
VS Code 默认在 files.exclude 配置中,把若干版本控制目录(.git、.svn、.hg 等)从文件树中隐藏掉了。这是官方故意的行为——因为 VS Code 已经通过左侧的「源代码管理」面板接管了 Git 操作,所以默认不在文件树里展示 .git 内部细节。
默认等价于:
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true
}
}
"**/.git": true 这一条就是 .git 文件夹被隐藏的根源。
解决方案
方法一:图形界面设置(推荐)
- 打开设置:快捷键
Ctrl + ,(macOS 为Cmd + ,),或通过菜单文件 → 首选项 → 设置; - 在搜索框输入
files.exclude; - 在
Files: Exclude列表里找到**/.git这一项,把前面的勾选去掉即可。
取消勾选后,资源管理器会立即显示出 .git 文件夹。
方法二:直接修改 settings.json
- 打开命令面板:
Ctrl + Shift + P(macOS 为Cmd + Shift + P); - 输入并选择
Preferences: Open User Settings (JSON)(用户级)或Preferences: Open Workspace Settings (JSON)(仅当前项目生效); - 添加如下配置,把
.git的排除规则显式关闭:
因为
**/.git是 VS Code 的默认值,所以必须用false显式覆盖,单纯不写并不会生效。
- 用户设置:对所有项目永久生效;
- 工作区设置(
.vscode/settings.json):只在当前仓库生效,适合「只想在这个项目里看.git」的场景,也方便跟着项目一起提交给团队。
补充说明
- 不会影响 Git 功能:显示
.git文件夹仅仅是让它在文件树里可见,VS Code 的源代码管理、终端里的git命令都不受影响。 - 只想临时看一眼:不需要改设置,可以直接用命令面板
File: Open File/File: Open Folder手动定位到项目根目录下的.git打开,或者用终端open .git(macOS)/xdg-open .git(Linux)在文件管理器里查看。 - 还是看不到? 排查以下几点:
- 确认项目根目录确实存在
.git(命令行ls -la查看); - 确认不是被
explorer.excludeGitIgnore之类扩展影响(正常不会); - 若只想看
.gitignore里被忽略的文件,可在设置里关闭Explorer > Exclude Git Ignore(explorer.excludeGitIgnore)。