VSPackage 構造 (ソース管理 VSPackage)
ソース管理パッケージ SDK は、ソース管理実装者が自分のソース管理機能を Visual Studio 環境と統合できるようにする VSPackage を作成するためのガイドラインを提供します。 VSPackage は、パッケージがそのレジストリ エントリでアドバタイズしているサービスに基づいて、通常は Visual Studio 統合開発環境 (IDE) によって必要に応じて読み込まれる COM コンポーネントです。 すべての VSPackage が IVsPackage を実装する必要があります。 VSPackage では通常、Visual Studio IDE によって提供されるサービスを消費し、独自のいくつかのサービスを提供します。
VSPackage では、そのメニュー項目を宣言し、.vsct ファイル経由で既定の項目の状態を確立します。 VSPackage が読み込まれるまで、Visual Studio IDE には、この状態のメニュー項目が表示されます。 その後、VSPackage の実装の QueryStatus メソッドが呼び出されて、メニュー項目が有効または無効になります。
ソース管理パッケージの特性
ソース管理 VSPackage は、Visual Studio に緊密に統合されています。 VSPackage のセマンティクスには、次のものが含まれます。
VSPackage であることによって実装されるインターフェイス (
IVsPackage
インターフェイス)UI コマンドの実装 (.vsct ファイルと IOleCommandTarget インターフェイスの実装)
Visual Studio による VSPackage の登録
ソース管理 VSPackage は、次の他の Visual Studio エンティティと通信する必要があります。
プロジェクト
エディター
ソリューション
Windows
実行中のドキュメント テーブル
消費される可能性がある Visual Studio 環境サービス
SVsRegisterScciProvider サービス
実装されて呼び出される VSIP インターフェイス
ソース管理パッケージは VSPackage であるため、Visual Studio に登録されている他の VSPackage と直接対話できます。 ソース管理のすべての機能を提供するために、ソース管理 VSPackage は、プロジェクトまたはシェルによって提供されるインターフェイスに対応できます。
Visual Studio のプロジェクトが Visual Studio IDE 内のプロジェクトとして認識されるには、必ず IVsProject3 を実装する必要があります。 ただし、このインターフェイスは、ソース管理のために十分に特化されているわけではありません。 ソース管理下にあることが期待されるプロジェクトでは IVsSccProject2 を実装します。 このインターフェイスは、プロジェクトの内容をクエリしたり、プロジェクトにグリフやバインドの情報 (ソース管理下にあるプロジェクトのサーバーの場所とディスクの場所の間の接続を確立するために必要な情報) を提供したりするために、ソース管理 VSPackage によって使用されます。
ソース管理 VSPackage では IVsSccManager2 を実装します。それにより、プロジェクトはソース管理に自身を登録し、自身の状態のグリフを取得できるようになります。
ソース管理 VSPackage で考慮する必要があるインターフェイスの完全な一覧については、「関連サービスとインターフェイス」を参照してください。