次の方法で共有


アドイン プロジェクトのコンポーネント

アドイン プロジェクトは、アドイン ウィザードを使用して作成され、DLL にコンパイルされるクラス ライブラリ プロジェクトです。 アドイン プロジェクトには、Connect という名前のソース コード ファイルが含まれます。Connect はクラスの名前でもあります。 Connect クラスは、アドインと Visual Studio 統合開発環境 (IDE: Integrated Development Environment) との間でコマンドを渡す、IDTExtensibility2 という名前のインターフェイスを実装しています。

IDTExtensibility2 には、実装した場合にイベントとして機能する 5 つのメソッドがあります。

メソッド

説明

OnConnection

Visual Studio でアドインが読み込まれるときに呼び出されます。

OnStartupComplete

Visual Studio で読み込みが完了するときに呼び出されます。

OnAddInsUpdate

アドインが Visual Studio から読み込まれるかアンロードされるときに呼び出されます。

OnBeginShutdown

Visual Studio を閉じるときに呼び出されます。

OnDisconnection

アドインが Visual Studio からアンロードされるときに呼び出されます。

アドイン ウィザードを使用してアドインを作成する場合にユーザー インターフェイス オプションを選択すると、IDTExtensibility2 インターフェイスだけでなく、IDTCommandTarget インターフェイスも自動的に実装されます。 アドインのコマンド バーを作成または操作する場合は、Microsoft.VisualStudio.CommandBars 名前空間も実装する必要があります。

OnConnection メソッド

OnConnection メソッドは、アドインを読み込むたびに呼び出されるため、確実に、アドイン プロジェクトで使用される最も重要なメソッドになります。 また、アドインで他のオートメーション コードを呼び出すためにも使用されます。 OnConnection メソッドには、4 つのパラメーター (Application、ConnectMode、AddInInst、および custom) が渡されます。 Application は Visual Studio IDE を示します。 このメソッドは、_applicationObject という名前の DTE2 オブジェクトとしてキャストされます。 このオブジェクトは、主要なオートメーション モデルのメイン オブジェクトを表し、すべての型およびメンバーにアクセスできます。 ConnectMode (この値は Extensibility.extConnectMode に含まれます) は、アドインを読み込む方法 (コマンド ラインを使用する、ソリューションを開くなど) を表します。 AddInInst は、アドイン自体を表します。 custom パラメーターは、必要に応じてアドインに渡すことができるデータを含む配列です。

OnConnection は、これらの変数を初期化するだけでなく、アドイン ウィザード[ツール] メニューのアドインの作成時にそのオプションを選択した場合に、そのアドイン用のコマンドを作成するコードを含めることもできます。

その他のアドイン メソッド

既定では、アドイン ウィザードによって配置される他の 4 つのアドイン メソッドは空です。 アドインに関連するイベントを処理するには、このようなその他のメソッドを使用してイベントに応答します。 たとえば、OnAddInsUpdate メソッドにコードを追加し、アドインを閉じたときに別のプロシージャに通知メッセージを送信できます。 OnBeginShutdown を呼び出し、Visual Studio IDE をシャットダウンする際にクリーンアップ タスクを実行できます。

アドインを作成し、[ツール] メニューのアドイン用のコマンドを作成する [アドイン用のコマンド バー UI を作成しますか?] チェック ボックスをオンにすると、IDTCommandTarget インターフェイスが実装されます。 他の 2 つのメソッド (QueryStatus および Exec) は、コマンドのタスクを処理するためにアドイン プロジェクトに追加されます。 これらのメソッドには、[ツール] メニューにコマンドを配置し、ユーザーによるクリックに対応できるように少量のコードが含まれています。 QueryStatus は、コマンドが使用できるかどうかをアドインに通知します。 Exec メソッドは、ユーザーが [ツール] メニューのアドインのコマンドをクリックしたときに呼び出されます。そのため、そのイベントに対応するには、ここにコードを追加する必要があります。

参照

概念

機能拡張プロジェクト

その他の技術情報

アドインおよびウィザードの作成