開発ドライブ(Dev Drive) #5 Team Explorerとgitフォルダーの関連付け

Microsoft Build 2023で発表があった開発ドライブ (Dev Drive)が使えるようになりました。さっそく、開発ドライブを作成・設定しました。今回は、開発ドライブを作成した後の各種設定について説明します。

開発ドライブ (Dev Drive)とは

開発ドライブ (Dev Drive)の説明、要件、作成方法などは、以前の投稿で説明しましたので、説明は省略します。以前の投稿を参照してください。

開発ドライブの作成後の設定

今回も開発ドライブを作成した後の、開発環境の設定について説明します。

開発ドライブは、レポジトリ(ソースコード)の保存先やパッケージキャッシュの保存先の利用が想定されています。しかし、開発ドライブを作成しただけでは、これらのものが自動的に開発ドライブに移動することはありません。

そのため、開発ドライブを作成した後は、

  • ソースコードを移動
  • ソースコードの置き場所の既定値の設定の変更
  • パッケージキャッシュの保存先の変更

などの作業をする必要があります。

以降は、以下の前提で説明をします。

  • 開発ドライブ作成前の既存のレポジトリの保存先: C:\Repos\
  • 開発ドライブ作成前の既存のパッケージ キャッシュの保存先: それぞれのパッケージキャッシュの既定のフォルダー
  • 作成した開発ドライブのドライブレター: Dドライブ
  • 開発ドライブ上の新たなレポジトリの保存先: D:\Repos\
  • 開発ドライブ上の新たなパッケージ キャッシュの保存先: D:\Packages\
    • D:\Packages\nuget\
  • 開発ドライブ上の新たなシンボル キャッシュ フォルダー: D:\SymbolCache\

Team Explorer の設定変更

開発のプロジェクト管理をAzure DevOps や DevOps Serverを使って管理している場合、プロジェクトに属するgitレポジトリのクローンの位置情報を Team Explorer が持っています。

これらの情報も SourceTree のときと同様に、設定保存ファイルを直接修正して、まとめて変更したいのですが、ファイルを直接変更しても、反映されません。そのため、別の方法で情報を更新します。

Team Explorerの設定ファイル

Team Explorer のプロジェクトに属するgitレポジトリ情報を保存しているのは、TeamExplorer.config というファイルになります。

このファイルは、Visual Studio 2022の場合、以下の場所にあります。

C:\Users\{use name}\AppData\Roaming\Microsoft\VisualStudio\17.0_????????\Team Explorer\TeamExplorer.config

???の部分はVisual Studioの使っているVisual Studio 2022のバージョンにより異なります。このファイルを確認すると、以下のようなファイルで、gitレポジトリーの保存場所を保持しています。

<!--This configuration file specifies the previously-configured connection details for Azure DevOps Server.-->
<server_list>
    <server url="https://nishy-software.visualstudio.com/">
        <collection guid="7a859a94-xxxx-xxxx-9043-05de2394c85b" url="https://nishy-software.visualstudio.com/" name="nishy-software.visualstudio.com\nishy-software" isHosted="yes" current="yes">
            <project projectUri="vstfs:///Classification/TeamProject/a1af9d8b-xxxx-xxxx-ac7e-d642ddc2a1f3" name="nsNugetLibrarySample" capFlagsScc="2">
                <repository type="2" name="nsNugetLibrarySample" guid="cb1aa426-xxxx-xxxx-a2ff-d66a4abb1474" active="yes" activeClone="C:\repos\nsNugetLibrarySample" isFork="False" />
            </project>
        </collection>
    </server>
</server_list>

この例の場合、6行目にあるように、nsNugetLibrarySample レポジトリのクローン場所として、C:\repos\nsNugetLibrarySample であることがわかります。

プロジェクトに関連付けられているgitのクローン場所の設定変更

前述したように設定ファイルを直接編集しても、gitレポジトリのクローン場所の関連付けが変更されません。

関連付けを変更するには以下の手順で行います。

ここでは、Azure DevOps の nsNugetLibrarySample プロジェクトの nsNugetLibrarySample gitレポジトリを、Cドライブから開発ドライブ(Dドライブ)に移動したことを前提として説明します。

まず、Team Explorerの🔌接続アイコン(コンセントプラグのアイコン)をクリックして、接続タブを開きます。

Azure DevOps のプロジェクト情報とgitのクローン場所が関連づけられていない状態

すると、Azure DevOps の nsNugetLibrarySample プロジェクトの nsNugetLibrarySample gitレポジトリのところの一番右のところに、下矢印が付いたフォルダーアイコンが表示されています。これは、nsNugetLibrarySample gitレポジトリがまだクローンされていないことを表します。実際には、Dドライブにクローンされているのですが、Visual StudioのTeam Explorerはそれを認識していません。

Azure DevOpsのプロジェクトに接続

Azure DevOps の nsNugetLibrarySample プロジェクトの nsNugetLibrarySample gitレポジトリのクローンをTeam Explorerに認識させるために、まずは、Azure DevOps の nsNugetLibrarySample プロジェクトに接続します。

Azure DevOps のプロジェクト情報とgitのクローン場所が関連づけするために、まずはAzure DevOps のプロジェクトに接続する

Azure DevOps の nsNugetLibrarySample プロジェクトに接続するためには、Team Explorerタブ内のプロジェクトツリーのプロジェクト、もしくは、gitレポジトリを選択した状態で、コンテキストメニューを開きます。そして、コンテキストメニューの接続を選択します。

Azure DevOps のプロジェクトに接続が完了すると、チーム エクスプローラー タブの上部の「接続」の横が、接続したAzure DevOps のプロジェクト名(この例ではnsNugetLibrarySample) になります。

Azure DevOps のプロジェクト情報とgitのクローン場所が関連づけするために、開いているプロジェクトが切り替わった状態

移動したgitレポジトリのクローンの場所の関連付け

Azure DevOps の目的のプロジェクトに接続した後の作業は単純です。gitレポジトリのクローンを移動した先のフォルダーを開くだけです。

メニューの「ファイル → 開く → フォルダー」項目を選択し、移動した先のフォルダー(この例の場合、D:\repos\nsNugetLibrarySample)を開きます。

Azure DevOpsのプロジェクト情報とgitのクローン場所が関連づけするために、移動した先のgitフォルダーを開く

すると、関連付けが完了し、チームエクスプローラータブのプロジェクトのレポジトリ一覧の下矢印付きのフォルダーアイコンがなくなります。

Azure DevOps のプロジェクト情報とgitのクローン場所が関連づけられた状態

Visual Studioを終了して、再度TeamExplorer.configファイルを確認すると以下のようにactiveClone属性が移動先のクローンフォルダーのパスに更新されています。

<!--This configuration file specifies the previously-configured connection details for Azure DevOps Server.-->
<server_list>
    <server url="https://nishy-software.visualstudio.com/">
        <collection guid="7a859a94-xxxx-xxxx-9043-05de2394c85b" url="https://nishy-software.visualstudio.com/" name="nishy-software.visualstudio.com\nishy-software" isHosted="yes" current="yes">
            <project projectUri="vstfs:///Classification/TeamProject/a1af9d8b-xxxx-xxxx-ac7e-d642ddc2a1f3" name="nsNugetLibrarySample" capFlagsScc="2">
                <repository type="2" name="nsNugetLibrarySample" guid="cb1aa426-xxxx-xxxx-a2ff-d66a4abb1474" active="yes" activeClone="D:\repos\nsNugetLibrarySample" isFork="False" />
            </project>
        </collection>
    </server>
</server_list>

今回の投稿では、Team ExplorerのAzure DevOps のプロジェクトと git レポジトリのクローンフォルダーの関連付けの更新方法を説明しました。

コメントを残す