こんにちは、「これ地味に不便だなー」と思っていた設定を 1 つ直したアーキテクトのやまぱん!です 😊
補足コメントや質問、いいね、拡散、ぜひお願いします 🥺!
間違っていたら 優しく 教えてください!
TL;DR
- VS Code では
files.excludeによって.gitが Explorer で非表示になることがあります -
.gitを表示したいなら、files.excludeの**/.gitをfalseに設定すれば OK です - 検索結果にも出したい場合は、
search.excludeの**/.gitも確認します - 反映されないときは User 設定だけでなく Workspace 設定を見ます
- これは Explorer の表示設定の話で、GitHub Copilot が
.gitを読むかどうかとは別です
先に結論
settings.json に次を入れれば、Explorer で .git を表示できます。
既に files.exclude を使っている場合は、丸ごと置き換えず "**/.git": false を追記してください。
{
"files.exclude": {
"**/.git": false
}
}
検索にも出したい場合は、次も追加します。
{
"search.exclude": {
"**/.git": false
}
}
発端: 「地味に不便」を 1 分で直した話
発端は、次の質問でした。
VS Code で .git を表示するようにする方法ないの? デフォルトだと見えないんだけど
この相談に対して、実際に User 設定ファイルを編集して "**/.git": false を入れたら、Explorer で見えるようになりました。
私の環境では、ユーザー設定の files.exclude で **/.git を false にすると、Explorer で .git が表示されるようになりました。
実際の表示例(著者環境)です。
なぜ .git が見えないのか
VS Code は files.exclude で Explorer の表示対象を制御できます。
この設定に **/.git が入っていると、.git フォルダーは表示されません。
ここは Git の不具合ではなく、Explorer の表示設定です。
ここで 1 つ切り分けたいのは、Explorer で見えること と GitHub Copilot がそのファイルを読むこと は別だという点です。
今回確認できたのは表示設定のほうで、この設定だけで GitHub Copilot が .git を自動で読むようになる、とまでは確認していません。
手順 1: 設定 UI から直す
-
Ctrl+,で Settings を開く - 検索欄で
files.excludeを検索する -
Files: Excludeの**/.gitをfalseにする(または削除する)
UI で編集しても、実体は settings.json に反映されます。
出典: https://code.visualstudio.com/docs/configure/settings
手順 2: settings.json を直接編集する
Ctrl+Shift+P で Command Palette を開き、Preferences: Open User Settings (JSON) を実行します。
{
"files.exclude": {
"**/.git": false
}
}
既に files.exclude がある場合は、その中に追記すれば OK です。
まだ見えないときのチェックポイント
1. Workspace 側で上書きされていないか
設定は User より Workspace が優先されます。
なので User で false にしても、Workspace 側に "**/.git": true があると見えません。
Preferences: Open Workspace Settings (JSON) も確認してみてください。
出典: https://code.visualstudio.com/docs/configure/settings
2. 検索結果にも出したいなら search.exclude
Explorer には見えても、検索だけ出ないときは search.exclude に **/.git が入っている可能性があります。
search.exclude は files.exclude のパターンも継承します。
さらに Search ビューの Use Exclude Settings and Ignore Files が有効だと .gitignore も効くので、必要に応じて切り替えて確認してください。
出典: https://code.visualstudio.com/docs/editing/codebasics
{
"search.exclude": {
"**/.git": false
}
}
3. Profile ごとの設定を使っていないか
VS Code の Profile を使っていると、Profile ごとの settings.json が効きます。
「直したはずなのに戻る」場合は、今どの Profile で開いているかも確認すると早いです。
関連設定も見ると迷いにくいです
今回やっていて、似た名前の設定が多くて少し紛らわしいなと思いました。
特に .git まわりは、次の 3 つを分けて見ると整理しやすいです。
-
files.exclude: Explorer で見せるか隠すか -
files.watcherExclude: ファイル監視の対象から外すか -
search.exclude: 検索対象から外すか
たとえば Settings で .git/objects/** のような項目が見えても、それは files.watcherExclude 側のことがあります。
この設定は監視負荷を下げるためのもので、Explorer で .git を見せるかどうかとは別です。
.git の表示確認をしたいときは、まず files.exclude を見るのが本命です。
設定 ID で探すと早いです
Settings の検索欄で設定 ID を直接入れると、目的の場所に早くたどり着けます。
@id:files.exclude@id:files.watcherExclude@id:search.exclude
関連設定をまとめて見比べたいときは、この探し方がかなり便利でした。
Settings UI に出ないこともありました
ここは少し注意です。
私の環境では、settings.json に次のような設定が入っていても、Settings UI の一覧では個別項目として見えない場面がありました。
{
"files.exclude": {
"**/.git": false
}
}
Explorer では .git が見えていて、settings.json にも値は入っています。
ただ、Settings UI 側では false で打ち消している項目が見えないことがありました。
この「false の項目は Settings UI に出ないことがある」という挙動そのものは、今回調べた範囲では公式ドキュメントに明記を見つけられていません。
なので、ここは公式仕様として断定ではなく、私の環境での観測結果として読んでください。
もし UI 上で見つからなくても、settings.json と Explorer の実際の表示を合わせて確認すると判断しやすいです。
注意点
.git を表示できるようにすると、内部ファイルを直接触れるようになります。
調査には便利ですが、index や config を誤って編集しないように注意してください。
まとめ
.git が見えない問題は、ほとんどが files.exclude の設定で解決できます。
先に User 設定を直して、反映しなければ Workspace 設定を見る。この順番で確認すると、設定漏れを切り分けやすくなります。
同じように「なんとなく不便」を感じている方は、まず 30 秒で "**/.git": false を確認してみてください。
参考
- VS Code: User and Workspace Settings
- VS Code: Basic Editing(Search / files.exclude, search.exclude の説明あり)



