Visual Studio “15” でのソリューション読み込み時間の短縮

本記事は、マイクロソフト本社の The Visual Studio Blog の記事を抄訳したものです。【元記事】 Shorter Solution Load Time in Visual Studio “15” 2016/10/11

 

今回の記事は、Visual Studio “15” のパフォーマンス強化について 5 回にわたってお伝えするシリーズ記事の第 2 回です。

前回は、Visual Studio "15" の起動の高速化についてお伝えしました。今回は、ライトウェイト ソリューション ロードという Visual Studio "15" の新機能について説明します。この機能を使用するとソリューションの読み込み時間が大幅に短縮され、IDE の高速化と生産性の向上につながります。

ライトウェイト ソリューション ロード

簡単に言うと、ライトウェイト ソリューション ロード機能が有効化されている場合、実際に作業を開始するまでプロジェクトを完全には読み込みません。すべてのプロジェクトの読み込みが完了していなくとも、コードベース内のナビゲーション、コード編集、プロジェクトの構築などの一般的なタスクの多くは実行可能です。

ライトウェイト ソリューション ロードは、Visual Studio “15” Preview 4 で、実際のプロジェクトでの動作に関する情報を収集するための限定機能としてリリースされました。これまでのところ、パフォーマンスは良好な結果を示しています。

限定ロールアウトでは、ソリューションの読み込み時間が半分から 4 分の 1 であることが確認されています。

この機能の最終的な目標は、IDE を可能な限り迅速に使用可能な状態にすることです。ライトウェイト ソリューション ロードを使用した場合、コードを開いて作業を始めるまでの時間が 1 ~ 2 分短縮されることが確認されています。Preview 5 のリリース後も同様の結果が得られることを期待しています。

ぜひお試しください

ライトウェイト ソリューション ロードは、Preview 5 では既定で有効化されていませんが、中規模から大規模の管理されたプロジェクトに携わる開発者の方は、ぜひこの機能をご使用いただき、ご意見をお聞かせください。ライトウェイト ソリューション ロードを使用するには、[Tools]、[Options]、[Projects and Solutions]、[General] の順に選択し、ページ下部の [Lightweight Solution load] チェックボックスをオンにします。

ライトウェイト ソリューション ロードの有効化後は、通常どおりにプロジェクトやソリューションを開いて作業することができます。設定はその後のソリューションの読み込み時に適用され、IDE を再起動する必要はありません。

Preview 5 では、ライトウェイト ソリューション ロードは管理されたプロジェクトを対象としています。中規模から大規模の C# ソリューションや VB ソリューションで作業する場合、この機能を使用することを強くお勧めします。C++ や他の種類のプロジェクトとの複合ソリューションを開くこともできます。ただし、他の種類のプロジェクトではパフォーマンス強化の一部が適用されない場合があるので注意が必要です (注意事項を参照*)。

ライトウェイト ソリューション ロードの有効化は、動作が高速化されるというメリット以外、実作業への影響はありません。この機能でぜひ以下のことを試してみてください。

  • コードベースのナビゲーションに [Navigate To] (Ctrl+,) や [Go to Definition] (F12)、[Find in Files]、[Find all References] を使用する
  • リファクタリングやインラインでの名前の変更
  • ソリューションの構築やデバッグ

操作によっては、バックグラウンドでプロジェクト データを読み込む際に、若干時間がかかる場合があります。

ライトウェイト ソリューション ロードは現在試験提供中のため、改善すべき点も残っています。

  • プロジェクトに関連する機能が IDE で表示されない場合は、ソリューション エクスプローラーでプロジェクトを開いてみてください。作業中に予期しない挙動があった場合はご報告をお願いします。
  • NuGet パッケージの復元はまだ統合されていません。ライトウェイト ソリューション ロードを有効化する前にパッケージを復元するか、またはコマンド ラインを使用することをお勧めします。
  • プロジェクトがすべて読み込まれるまでテスト エクスプローラーにテストが表示されません。
  • ソリューション内のすべてのプロジェクトでターゲットの変更やアップグレードを行う場合は、ライトウェイト ソリューション ロードを無効化しておくことをお勧めします。

*Preview 5 では、ライトウェイト ソリューション ロードは管理されたプロジェクトを対象としていますが、C++ 開発者の方にも Preview 5 で実装された多数のパフォーマンス強化をご利用いただけるようになります。シリーズの第 4 回の記事で紹介しますのでご期待ください。これらの機能強化は、今後のリリースでライトウェイト ソリューション ロードに統合される予定です。

フィードバックのお願い

ぜひライトウェイト ソリューション ロードをご利用いただき、ご意見をお聞かせください。IDE の読み込みが遅かったり、応答がなかったりするなど、パフォーマンス関連の問題が発生した場合は、IDE の右上に表示されている [Report a problem] ツール (英語) からご報告ください。ここでリンクしているツールは、パフォーマンスの問題の診断に必要なトレースやその他のアセットを自動的に収集します。

大規模なコードベースを使用している開発者の方で、作業エクスペリエンスのフィードバックにご協力いただける場合は、簡単なアンケート (英語) に連絡先と開発作業に関する質問への回答をご記入いただけますと幸いです。今後の開発エクスペリエンス改善の参考とさせていただきます。

Will Buik (Visual Studio IDE プロジェクトおよび構築担当プログラム マネージャー)Will Buik は経験豊富な Visual Studio ユーザーで、Visual Basic 4 でプログラミングを始めて以来、プログラミングやソフトウェア開発、ハードウェアの構築を得意とし、現在は長年使用している開発ツールの業務に従事しています。