Microsoft Dev Box で Visual Studio エクスペリエンスを最適化する
Visual Studio 17.8 では、Microsoft Dev Box 用に Visual Studio ソリューションのプリキャッシュを試してみることができます。 プロジェクトを読み込むときに、Visual Studio はファイルのインデックスを作成し、メタデータを生成して、IDE 機能の完全なスイートを有効にします。 そのため、大規模なプロジェクトを初めて読み込むときに、Visual Studio はかなりの時間を費やすことがあります。 開発ボックスの Visual Studio キャッシュでは、このスタートアップ データを事前に生成し、それをカスタマイズした開発ボックス イメージの一部として Visual Studio で使用できるようになりました。 つまり、Visual Studio キャッシュが含まれているカスタム イメージから開発ボックスを作成すると、Microsoft Dev Box にログオンして、すぐにプロジェクトの作業を開始できるということです。
開発ボックス イメージに Visual Studio ソリューションをプリキャッシュする利点は次のとおりです。
- 初めてソリューションを読み込むときにかかる時間を短縮できます。
- Visual Studio の主要な IDE 機能 [フォルダーを指定して検索] や [Intellisense] などにすばやくアクセスして使用できます。
- 大規模なリポジトリの Git のパフォーマンスを向上できます。
Note
Visual Studio ソリューションのプリキャッシュで得られる起動時間のパフォーマンス向上は、ソリューションの複雑さによって異なります。
前提条件
Microsoft Dev Box でソース コードと Visual Studio IDE カスタマイズのプリキャッシュを活用するには、次の要件を満たす必要があります。
デベロッパー センターの作成と、Microsoft Dev Box サービスの構成。 利用可能なものがない場合は、「クイックスタート: Microsoft Dev Box サービスを構成する」の手順に従ってデベロッパー センターを作成して、開発ボックスを構成します。
開発ボックス用のカスタム VM イメージの作成。これには、ソース コードと事前生成したキャッシュを含めます。
この記事では、Azure Resource Manager テンプレートの作成を通じて説明します。 ここからのセクションでは、そのテンプレートを変更して、Visual Studio ソリューション キャッシュを生成するプロセスを組み込み、プロジェクトの git コミット グラフを準備することで Visual Studio のパフォーマンスをさらに向上させます。 それにより、結果のイメージはチーム用の新しい開発ボックスの作成に使用できるようになります。
開発ボックスで Visual Studio キャッシュを使用できるようにする
Visual Studio ソリューションのキャッシュは、カスタムの開発ボックス イメージをビルドするための自動化されたパイプラインの一部として生成できます。 開発ボックス イメージで Visual Studio キャッシュを使用できるようにするには:
Azure Resource Manager テンプレート内で、プロジェクトのソース リポジトリを VM のユーザー固有でない場所に複製するためのステップを追加します。
プロジェクト ソースがディスクに配置されたので、
PopulateSolutionCache
機能を実行してプロジェクト キャッシュを生成できるようになりました。 これを実行するには、テンプレートのカスタマイズしたステップに次の PowerShell コマンドを追加します。# Add a command line flag to the Visual Studio devenv devenv SolutionName /PopulateSolutionCache /LocalCache /Build [SolnConfigName [/Project ProjName [/ProjectConfig ProjConfigName]] [/Out OutputFilename]]
このコマンドにより、ソリューションが開かれ、ビルドが実行され、指定したソリューションのキャッシュが生成されます。 生成されたキャッシュは、カスタム イメージに含まれるようになり、接続された Azure Compute Gallery に投稿されると開発ボックスのユーザーが使用できるようになります。 その後は、このイメージに基づいて新しい開発ボックスを作成することができます。
/Build
フラグは省略可能ですが、このフラグがないと、ビルドの完了が必要な一部のキャッシュが使用できなくなります。build
コマンドの詳細については、Build コマンドライン リファレンスを参照してください。
開発ボックス ユーザーが、カスタマイズされたイメージに基づいて開発ボックスでソリューションを開くと、Visual Studio は既に生成されたキャッシュを読み取り、キャッシュの生成を完全にスキップするようになります。
開発ボックス イメージで Git コミット グラフの最適化を有効にする
スタンドアロンのコミット グラフ機能以外にも、カスタム開発ボックス イメージを生成するための自動化されたパイプラインの一部として、コミット グラフの最適化を有効にすることもできます。
次の要件を満たしている場合は、開発ボックス イメージで Git コミット グラフの最適化を有効にできます。
- 開発ワークステーションとして Microsoft Dev Box を使用している。
- プロジェクトのソース コードが、イメージに含まれるように、ユーザー固有でない場所に保存されている。
- プロジェクトの Git ソース コード リポジトリが含まれているカスタム開発ボックス イメージを作成することができる。
- Visual Studio 17.8 以降を使用している。
コミット グラフの最適化を有効にするには、カスタム イメージのビルド プロセスの一環として、Git リポジトリの場所から次の git
コマンドを実行します。
# Enables the Git repo to use the commit-graph file, if the file is present
git config --local core.commitGraph true
# Update the Git repository’s commit-graph file to contain all reachable commits
git commit-graph write --reachable
生成されたキャッシュは、カスタム イメージに含まれるようになり、接続された Azure Compute Gallery に投稿されると開発ボックスのユーザーが使用できるようになります。
次のステップ
Microsoft Dev Box での Visual Studio プリキャッシュの概要:
Developer Community から、Microsoft Dev Box での Visual Studio プリキャッシュに関するフィードバック、ご意見、ご提案をお寄せください。