次の方法で共有


Automation モデルの概要

オートメーション モデルは、Visual Studio アドインまたは拡張機能を記述できる一連のオブジェクトで構成されます。 アドインは、Visual Studio 環境を操作し、一般的なタスクを自動化できるアプリケーションです。 Visual Studio 拡張機能では、カスタム Visual Studio コンポーネントを作成したり、テキスト エディターなどの標準コンポーネントの機能を追加したりできます。

オートメーション モデル内のオブジェクト

オートメーション モデルは、共通環境の主要なファセットを制御するオブジェクトの関連グループで構成されます。 次の図は、オートメーション モデルを構成する Visual Studio オブジェクトの広範なセットを示しています。

Visual Studio オートメーション オブジェクト グラフ

詳細については、「 Visual Studio 環境の拡張」を参照してください。

環境には、さまざまな機能領域のモデルが用意されています。 たとえば、コード内で見つかる可能性のあるさまざまな要素のコード モデルがあります。 さまざまなドキュメント要素のドキュメント モデルがあります。 1 つの領域であるプロジェクト領域は、VSPackage プロバイダーにとって特に重要です。 新しいプロジェクトの種類は、Visual C++ と Visual Basic がオートメーション モデルに貢献するのとほぼ同じ方法でオートメーション モデルに貢献することが必要になる可能性があります。 このプロセスの概要については、「 VSPackage の自動化を提供する」を参照してください。

環境の自動化モデルの拡張を検討できる場所:

  • プロジェクト

  • ドキュメント

  • Code

  • 建築する

自動化の詳細については、 Visual Studio の自動化と拡張性に関するページを参照してください。 このドキュメントとリンク先のドキュメントは、VSPackage の自動化を提供する方法に関する決定を下すのに役立ちます。

自動化モデルに貢献する

Visual Studio には、環境をカスタマイズするための一連のオートメーション インターフェイスが用意されています。 オートメーション モデルは、エンド ユーザーが Visual Studio アドインと拡張機能を作成できるようにするオブジェクト モデルです。

さらに、VSPackage 開発者は、自動化モデルに貢献することが適切です。これを行うことで、VSPackage のエンド ユーザーがアドインを作成し、通常、Visual Studio で VSPackage を使用するときに一貫したユーザー モデル エクスペリエンスを提供できるようになります。

エンド ユーザー エクスペリエンスを一貫させるために、VSPackage の自動化モデルが Visual Studio のアイデアに従えるように VSPackage を設計する際に、一連のガイドラインに従うことができます。

このセクションでは...

VSPackage の自動化を提供する 2 つの主な方法について説明します。

VSPackage 固有のオブジェクトを作成する手順について説明します。

新しいプロジェクトの種類のオートメーションを作成するために必要な標準プロジェクト オブジェクトについて説明し、プロジェクトオートメーションが従うパスを示します。 このトピックでは、クラスの宣言と実装の一覧も示します。

オートメーション モデルのイベントを作成する手順について説明します。

オブジェクトを拡張して、[ツール] メニューの VSPackage のカスタム DTE.Properties ダイアログ ボックスのプロパティをサポートするためのオートメーション オブジェクトを返す方法について説明します。

コードのオートメーション モデルを作成する必要はないことを説明します。 ただし、このトピックでは、コード モデルに関する洞察に満ちた情報を提供するリンクを示します。

ウィンドウでオートメーション オブジェクトを使用できるようにする場合は常にオートメーションを提供することをお勧めします。また、環境で既製のオートメーション オブジェクトがまだ提供されていないことについて説明します。 ツール ウィンドウとドキュメント ウィンドウの自動化について説明します。

オートメーション コンシューマーが最初のプロジェクト オートメーション オブジェクトを取得する方法を示す 2 つのコード例を示します。

Configuration オブジェクトと SelectedItems オブジェクトの自動化に関する情報を提供します。

リファレンス

  • GetAutomationObject VSPackage が DTE オートメーション オブジェクト モデルにどのように参加するかを示すコード サンプルを提供します。 パラメーター、戻り値、および選択した注釈を一覧表示します。