質問するログイン新規登録

Q&A

1回答

191閲覧

VSCode で孫以下のリポジトリが取得できない(できたりできなかったりする)

tennnenn

総合スコア1

VSCodeDevContainer

VSCode Dev Containerは、VSCodeの拡張機能の一つ。Dockerコンテナ上でVSCodeの機能が使える開発環境を構築できます。開発環境の可搬性や再現性が高く、ローカル環境への影響が低い点などが特徴です。

0グッド

0クリップ

投稿2026/05/12 04:29

0

0

やりたいこと

VSCode で全リポジトリを取得したいです。

発生している問題

下記画像のように、親階層で VSCode を開くと、リポジトリが取得できません。

スクショ

[画像左] 親階層の C:\Users\tennnenn\test-dev-1 で開いた VSCode のスクショ
[画像右] 子階層の C:\Users\tennnenn\test-dev-1\dotnet-apps で開いた VSCode のスクショ

イメージ説明

イメージ説明

ご覧の様に、リポジトリが取得できているのは [画像右] だけの状態です。

ディレクトリ構造

C:\Users\tennnenn\test-dev-1 ├── dotnet-apps │ └── apps │ ├── dotnet-app-1 │ │ ├── .git │ │ └── sample-data.json │ └── dotnet-app-2 │ ├── .git │ └── sample-data.json

備考

一部が取得できたり、できなかったりします。

上記の構造でも、5分くらい経過すると、親階層で開いた VSCode に、リポジトリが表示されることもあれば、10分経過してもそのままのこともあります。

また、上記はテスト用に作った構造ですが、気づいた経緯は50個ほどのリポジトリのうち一部しか表示されなかったためです。(孫階層が一部だけ取得できなかったり、ひ孫でも取得できたり、法則がとにかく謎です。)

試したこと

A: キャッシュ削除

下記の様にキャッシュ削除を確認し、改めて上記を見てみましたが、変化なしでした😭

PowerShell

1PS C:\Users\tennnenn> cd C:\Users\tennnenn\AppData\Roaming\Code 2PS C:\Users\tennnenn\AppData\Roaming\Code> taskkill /F /IM Code.exe 3エラー: プロセス "Code.exe" が見つかりませんでした。 4PS C:\Users\tennnenn\AppData\Roaming\Code> Remove-Item -Recurse -Force Cache, CachedData, CachedExtensionVSIXs, CachedProfilesData, "Code Cache", CachedConfigurations 5Remove-Item: Cannot find path 'C:\Users\tennnenn\AppData\Roaming\Code\CachedData' because it does not exist. 6Remove-Item: Cannot find path 'C:\Users\tennnenn\AppData\Roaming\Code\CachedExtensionVSIXs' because it does not exist. 7Remove-Item: Cannot find path 'C:\Users\tennnenn\AppData\Roaming\Code\CachedProfilesData' because it does not exist. 8Remove-Item: Cannot find path 'C:\Users\tennnenn\AppData\Roaming\Code\Code Cache' because it does not exist. 9Remove-Item: Cannot find path 'C:\Users\tennnenn\AppData\Roaming\Code\CachedConfigurations' because it does not exist. 10PS C:\Users\tennnenn\AppData\Roaming\Code> ls

B: 再インストール

STEP1. まずは設定からアンインストールを実行

イメージ説明

STEP2. ディレクトリごと削除を実行

PowerShell

1PS C:\Users\tennnenn> Remove-Item -Recurse -Force "C:\Users\tennnenn\AppData\Roaming\Code"

STEP3. ダウンロード&インストール

ダウンロードはここから
https://code.visualstudio.com/download

実行スクショ

イメージ説明

STEP4. 確認

変化なしでした😭

環境

  • Windows 11
  • VSCode 1.119.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答1

0

これは VSCode の不具合というより、

VSCode の Git Repository Scan 制限

が原因の可能性が非常に高いです。

特に:

親ディレクトリ

孫階層

.git

の構造で大量 repo がある場合、

VSCode の自動 Git 検索が途中で打ち切られる

ことがあります。

あなたの構造:

test-dev-1
└── dotnet-apps
└── apps
├── dotnet-app-1/.git
└── dotnet-app-2/.git

は、

3階層下に .git がある

状態です。

VSCode はデフォルトだと:

Git Auto Repository Detection

の制限に引っかかることがあります。

原因

VSCode は内部で:

git.autoRepositoryDetection

設定に従って repo を探索しています。

しかし:

repo 数が多い
深い階層
Windows
symlink
node_modules 大量
mono repo 混在

などで探索が不安定になります。

特に:

50 repo

はかなり怪しいラインです。

一番有効な解決策

これです。

settings.json に追加
{
"git.autoRepositoryDetection": "subFolders"
}

または:

{
"git.autoRepositoryDetection": true
}
さらに重要

これも追加推奨。

{
"git.scanRepositories": [
"dotnet-apps/apps"
]
}

これが最も強力。

VSCode に:

このパスを明示的に scan しろ

と指示できます。

あなたのケースの最適解

おそらくこれ。

{
"git.autoRepositoryDetection": "subFolders",
"git.scanRepositories": [
"dotnet-apps/apps"
]
}
設定場所
GUI
Ctrl + Shift + P

Preferences: Open Settings (JSON)
なぜ「時間経過で出たり出なかったり」するのか

VSCode の Git scan は:

非同期

です。

つまり:

起動

順番に scan

途中 timeout

一部だけ検出

になる。

repo 数が多いと:

ランダムに見える

挙動になります。

Windows で特に起きやすい理由

Windows の:

ファイル監視

は Linux/macOS より遅い。

さらに:

Defender
OneDrive
Indexing
NTFS

が scan を阻害します。

さらに怪しいポイント

もし:

.git フォルダ

ではなく:

.git ファイル

になっている repo があると、
検出漏れしやすいです。

submodule や worktree で起きる。

確認:

dir -force
VSCode 1.119 系

最近の VSCode は:

workspace trust

や:

lazy repository scanning

が強化されていて、
大量 repo 環境で逆に不安定になるケースがあります。

かなり有効な方法
Multi-root workspace

大量 repo 管理なら、
実はこれが最強です。

File

Add Folder to Workspace

で:

dotnet-app-1
dotnet-app-2

を直接追加。

Git extension が原因の場合

これもあります。

特に:

GitLens
Git Graph
Git History

が repo scan を阻害することがあります。

一度:

code --disable-extensions

で確認すると良いです。

最終推奨設定

これが一番安定します。

{
"git.autoRepositoryDetection": "subFolders",
"git.scanRepositories": [
"dotnet-apps/apps"
],
"git.repositoryScanMaxDepth": 10
}

特に:

"git.repositoryScanMaxDepth": 10

が重要。

デフォルト深度問題を回避できます。

結論

あなたの問題はほぼ確実に:

VSCode の Git Repository 自動探索制限

です。

特に:

repo が大量
孫階層
Windows
非同期 scan

の組み合わせで発生しています。

最も効くのは:

{
"git.scanRepositories": [
"dotnet-apps/apps"
]
}

です。

投稿2026/05/21 03:22

LinhHohoai

総合スコア0

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問