VSCodeでソース管理が表示されない主な原因

採用はこちら

VSCodeでソース管理が表示されない場合は、画面上の表示設定だけでなく、Gitのインストール状況やリポジトリの状態など、さまざまな原因が考えられます。

VSCodeにはGit連携機能が標準で搭載されていますが、実際のGit操作には、PCやリモート環境にインストールされているGitを使用します。

そのため、ソース管理が表示されないときは、まず「ソース管理の画面自体が表示されないのか」「ソース管理は開けるものの、リポジトリや変更ファイルが表示されないのか」を切り分けることが重要です。

目次

ソース管理アイコンが非表示になっている

アクティビティバーの表示状態を確認する

VSCodeのソース管理は、通常、画面左側のアクティビティバーに表示されています。

何らかの操作でソース管理アイコンが非表示になっていると、Git自体は正常でもソース管理が使えないように見えることがあります。

アクティビティバーを右クリックし、「Source Control」または「ソース管理」にチェックが付いているか確認してください。

チェックが外れている場合は、有効にすることでソース管理アイコンを再表示できます。

ショートカットキーからソース管理を開く

アイコンが見つからない場合は、ショートカットキーから直接ソース管理ビューを開けます。

WindowsやLinuxでは、次のショートカットを使用します。

Ctrl + Shift + G

macOSでは、次のショートカットです。

Control + Shift + G

ショートカットから問題なく開ける場合は、Gitそのものではなく、アクティビティバーやビューの表示設定に問題がある可能性があります。

アクティビティバー自体が表示されていない

VSCodeのレイアウト設定を確認する

エクスプローラーや検索、拡張機能などのアイコンもすべて見当たらない場合は、ソース管理だけでなくアクティビティバー自体が非表示になっている可能性があります。

VSCodeでは、アクティビティバーやサイドバーの表示位置を変更したり、非表示にしたりできます。

「View」やレイアウト設定を確認し、アクティビティバーが非表示になっていないか確認してください。

Zen Modeが有効になっていないか確認する

VSCodeのZen Modeでは、エディター以外のUIが大きく非表示になります。

WindowsやLinuxでは、次の操作でZen Modeを切り替えられます。

Ctrl + K
Z

突然ソース管理やエクスプローラーなどが見えなくなった場合は、Zen Modeが有効になっていないか確認してみましょう。

ビューの位置を初期状態に戻す

Source Controlビューを別の場所へ移動してしまった可能性もあります。

コマンドパレットを開き、次のコマンドを実行すると、ビューの位置を初期状態へ戻せます。

View: Reset View Locations

VSCodeのレイアウトを細かくカスタマイズしている場合に有効な対処法です。

Gitがインストールされていない

Gitのインストール状況を確認する

VSCodeにはGit連携用のUIが組み込まれていますが、Git本体そのものがVSCodeに内蔵されているわけではありません。

Gitを利用するためには、PCや実行環境にGitをインストールする必要があります。

VSCodeのターミナルを開き、次のコマンドを実行してください。

git --version

Gitが正常にインストールされていれば、次のようにバージョン情報が表示されます。

git version 2.x.x

一方で、コマンドが見つからないというエラーが表示された場合は、Gitがインストールされていないか、PATHの設定に問題がある可能性があります。

Gitをインストールした直後はVSCodeを再起動する

GitをインストールしたあともVSCodeを開いたままにしていると、環境変数の変更が反映されていない場合があります。

一度VSCodeを完全に終了して、再起動してください。

それでも認識されない場合は、WindowsなどOS自体を再起動すると改善することがあります。

Gitリポジトリではないフォルダを開いている

git statusで確認する

ソース管理ビューは表示されるものの、ファイルやリポジトリが何も表示されない場合は、現在開いているフォルダがGitリポジトリではない可能性があります。

VSCodeのターミナルで、次のコマンドを実行してください。

git status

正常なGitリポジトリであれば、現在のブランチや変更状態などが表示されます。

例えば、次のような内容です。

On branch main

Gitリポジトリではない場合は、次のようなエラーが表示されます。

fatal: not a git repository

この場合は、正しいプロジェクトフォルダを開いているか確認する必要があります。

Gitリポジトリを初期化する

新しく作成したプロジェクトをGitで管理したい場合は、Gitリポジトリとして初期化します。

ターミナルでは、次のコマンドを使用します。

git init

VSCode上から初期化する場合は、コマンドパレットを開いて次のコマンドを実行します。

Git: Initialize Repository

これにより、現在のフォルダがGitリポジトリとして初期化されます。

参考サイト

VSCodeでGitリポジトリが認識されない問題

プロジェクトのルートフォルダを開いていない

単独ファイルではなくフォルダを開く

VSCodeではHTMLやJavaScriptなどのファイルを1つだけ開くこともできます。

しかし、Gitリポジトリを正しく認識させるためには、リポジトリを含むプロジェクトフォルダをVSCodeで開くのが基本です。

例えば、次のような構成の場合です。

my-project/
├── .git/
├── index.html
├── style.css
└── script.js

この場合は、index.htmlだけを開くのではなく、my-projectフォルダ自体をVSCodeで開きます。

メニューから「ファイル」→「フォルダーを開く」を選択して、プロジェクトのルートフォルダを指定してください。

.gitの場所が想定と異なっている

.gitが存在するか確認する

通常のGitリポジトリでは、リポジトリ情報が.gitに保存されています。

例えば、次のような構成です。

project/
├── .git/
├── src/
└── README.md

.gitが削除されている場合、そのフォルダは通常のGitリポジトリとして認識されなくなります。

ただし、.gitは隠しファイルや隠しディレクトリとして扱われるため、直接探すよりも、まずは次のコマンドで確認する方が簡単です。

git status

親フォルダにGitリポジトリがある場合も確認する

次のように、GitリポジトリのルートとVSCodeで開いているフォルダが異なる場合があります。

project/
├── .git/
└── frontend/
    ├── src/
    └── package.json

この状態でfrontendだけをVSCodeで開いていると、親フォルダにあるGitリポジトリが自動的に表示されない場合があります。

VSCodeには、親フォルダのGitリポジトリをどのように扱うかを制御する設定があります。

git.openRepositoryInParentFolders

必要に応じてこの設定を確認してください。

ただし、最も確実なのは、.gitが存在するプロジェクトのルートフォルダをVSCodeで開く方法です。

Git機能が無効になっている

git.enabledを確認する

VSCodeには、Git連携機能を有効または無効にする設定があります。

設定画面を開き、次の項目を検索してください。

git.enabled

有効な状態では、基本的に次の設定になります。

{
  "git.enabled": true
}

falseになっている場合は、trueへ変更してください。

通常は有効になっているため、以前にGit機能を無効化したことがある場合などに確認するとよいでしょう。

組み込みGit拡張機能を確認する

VSCodeのGitサポートは、組み込み機能として提供されています。

拡張機能画面を開き、次のような条件で検索すると組み込みのGit関連機能を確認できます。

@builtin git

Git関連の組み込み機能が無効になっている場合は、有効にしてください。

変更後は、VSCodeを再読み込みすると改善することがあります。

ワークスペース設定が影響している

User設定とWorkspace設定を確認する

VSCodeには、全体に適用されるUser設定と、特定のプロジェクトだけに適用されるWorkspace設定があります。

User設定でGitを有効にしていても、Workspace設定で無効になっている場合は、そのプロジェクトだけGit機能が利用できないことがあります。

プロジェクト内に次のファイルが存在する場合は、内容を確認してください。

.vscode/settings.json

例えば、次の設定が存在するとGit機能が無効になります。

{
  "git.enabled": false
}

特定のプロジェクトだけソース管理が表示されない場合は、Workspace設定を確認すると原因を特定しやすくなります。

変更したファイルが表示されない

Gitリポジトリが正常でもChangesが空になることがある

ソース管理ビューは正常に表示されていても、変更したファイルが存在しなければ「Changes」には何も表示されません。

次のコマンドで現在の状態を確認できます。

git status

次のように表示される場合は、Gitに問題があるわけではありません。

nothing to commit, working tree clean

これは、現在のファイル内容と最新コミットの内容に差分がない状態を意味します。

何かファイルを編集して保存したあと、再度ソース管理ビューを確認してください。

複数のGitリポジトリを使用している

Repositoriesビューを確認する

モノレポや複数プロジェクトを含むワークスペースでは、複数のGitリポジトリが存在することがあります。

例えば、次のような構成です。

project/
├── frontend/.git/
├── backend/.git/
└── tools/.git/

この場合、VSCodeがどのGitリポジトリを認識しているのか確認する必要があります。

コマンドパレットから、次のコマンドを実行します。

Source Control: Focus on Repositories View

Repositoriesビューを確認すると、VSCodeが現在認識しているGitリポジトリを確認できます。

必要に応じて、次の設定も確認できます。

scm.alwaysShowRepositories

複数リポジトリを日常的に扱う場合は、Repositoriesビューを常に表示しておくと管理しやすくなります。

WSLやDev Containersなどを使用している

Gitがリモート環境側にあるか確認する

次のようなリモート開発環境を使用している場合は注意が必要です。

  • WSL
  • Dev Containers
  • SSH
  • Codespaces
  • その他のリモート環境

例えば、WindowsにGitがインストールされていても、WSL側でプロジェクトを開いている場合は、WSL環境側でGitが利用できる必要があります。

リモート環境のターミナルで、次のコマンドを実行してください。

git --version

Gitが認識されない場合は、そのリモート環境側にGitをインストールする必要があります。

Git Outputでエラーを確認する

Git: Show Git Outputを実行する

ここまで確認しても原因がわからない場合は、VSCodeのGitログを確認すると原因を特定しやすくなります。

コマンドパレットを開き、次のコマンドを実行してください。

Git: Show Git Output

Git Outputでは、Gitの実行状況やエラーなどを確認できます。

例えば、次のような情報が表示されます。

  • 使用されているGit実行ファイル
  • VSCodeが実行したGitコマンド
  • Gitのエラー
  • 実行時間
  • タイムスタンプ

Git自体は動作しているものの、VSCode上だけ問題が発生している場合に特に有効です。

必要に応じてTraceログを確認する

通常のGit Outputだけでは原因がわからない場合は、ログレベルをTraceへ変更すると、より詳細な情報を確認できます。

トラブルが再現する操作を行ったあとにログを確認すると、原因を見つけやすくなります。

VSCodeを再読み込みする

Developer: Reload Windowを実行する

設定や拡張機能を変更したあと、状態がすぐに反映されない場合があります。

コマンドパレットから、次のコマンドを実行してください。

Developer: Reload Window

VSCodeのウィンドウが再読み込みされます。

Gitの設定変更や組み込み機能の有効化を行ったあとに試すと効果的です。

GitHubへのログインは必須ではない

GitとGitHubは別のものとして考える

ソース管理が表示されないとき、「GitHubにログインしていないことが原因ではないか」と考えることがあります。

しかし、ローカルのGitリポジトリでファイルを管理するだけであれば、GitHubへのログインは必須ではありません。

ローカルでは、GitHubにログインしていなくても次の操作を行えます。

  • 変更内容の確認
  • ステージング
  • コミット
  • ブランチ作成
  • ブランチ切り替え

GitHubなどのリモートサービスへの認証が必要になるのは、主に次のような操作を行う場合です。

  • Clone
  • Fetch
  • Pull
  • Push
  • リモートリポジトリへのアクセス

そのため、Source Controlが表示されない問題とGitHubへのサインインは分けて考えることが重要です。

ソース管理が表示されないときの確認手順

まず画面表示を確認する

ソース管理アイコン自体が見えない場合は、最初に次の項目を確認します。

  1. Ctrl + Shift + GでSource Controlビューを開く
  2. アクティビティバーのSource Controlが有効か確認する
  3. Zen Modeが有効になっていないか確認する
  4. View: Reset View Locationsでビューの位置を初期化する

ここでソース管理が開ければ、GitではなくUI側の問題である可能性が高くなります。

次にGitの状態を確認する

ソース管理ビューは開けるものの、リポジトリや変更ファイルが表示されない場合は、次の2つを確認します。

git --version
git status

git --versionでは、Git本体が正常に利用できるか確認できます。

git statusでは、現在のフォルダがGitリポジトリとして認識されているか、変更ファイルが存在するかを確認できます。

それでも解決しない場合は設定とログを確認する

さらに、次の項目を確認します。

  • 正しいプロジェクトフォルダを開いているか
  • 親フォルダにGitリポジトリがないか
  • git.openRepositoryInParentFoldersの設定
  • git.enabledの設定
  • Workspace設定
  • 組み込みGit機能
  • Repositoriesビュー
  • Git: Show Git Output
  • リモート環境側のGit
  • Developer: Reload Window

この順番で確認すると、原因を効率的に切り分けられます。

まとめ

VSCodeでソース管理が表示されない場合は、単純にアイコンが非表示になっているケースだけでなく、Git本体やGitリポジトリの状態に問題がある場合もあります。

まずは、次のショートカットでSource Controlビューが開けるか確認しましょう。

Ctrl + Shift + G

そのうえで、ターミナルから次の2つを実行すると、原因を大きく切り分けられます。

git --version
git status

git --versionが失敗する場合は、GitのインストールやPATHに問題がある可能性があります。

一方で、git --versionは成功するもののgit statusが失敗する場合は、Gitリポジトリではないフォルダを開いている可能性があります。

また、git statusでworking tree cleanと表示される場合は、ソース管理が壊れているのではなく、単純に未コミットの変更が存在しない状態です。

「ソース管理そのものが見えない問題」と「Gitリポジトリや変更ファイルが表示されない問題」を分けて確認すると、原因を特定しやすくなります。

以上、VSCodeでソース管理が表示されない主な原因についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次