*
Visual Studio*
Bing による検索結果
MSDN Home   MSDN Home
MSDN Home > Visual Studio > 製品情報 > 機能拡張 > Visual Studio 機能拡張の概要

Visual Studio 機能拡張の概要


Visual Studio .NET の登場により、開発ツールの環境を一元化するという夢がついに実現されました。Visual Studio 統合開発環境 (IDE) は、Visual Basic、Visual C#、Visual C++ など、複数の言語と開発ツールのホストになるように、基礎からデザインされました。 Visual Studio IDE は、マイクロソフト製品をサポートするようにデザインされているだけではありません。Visual Studio ユーザーが IDE を拡張できるようにデザインされていて、サード パーティの開発ツールも、緊密に統合された一連の完全なツール セットを確実に使用できるようになります。

Visual Studio には、広範な機能拡張オプションが用意されています。

  • マクロ
    ユーザーは、共通する一連の操作を、再利用可能なマクロにカプセル化して、キーボードの組み合わせやツールバーのボタンに結び付けることができます
  • アドイン
    Visual Studio に重要な機能を追加できます
  • Visual Studio Industry Partner (VSIP) SDK
    マイクロソフト製品と同様に IDE を共用する開発ツール全体を統合できます

マクロ

Visual Studio を最も簡単に拡張する方法は、マクロを記録することです。 ほとんどすべてのユーザー コマンドやキー入力を、再利用可能なマクロとして記録できます。 マクロの再生は、キーを押すのと同じぐらい簡単です。 マクロを作成したら、Visual Studio を使用して、生成された Visual Basic コードを編集できます。

マクロを作成するには、[ツール] メニューの [マクロ] をポイントし、[TemporaryMacro の記録] をクリックします。 キーボード ショートカットで、Ctrl キー、Shift キー、R キーを同時に押して、マクロの記録を開始することもできます。 次に、記録する一連の操作を実行します。たとえば、検索と置換の操作を行い、共通の形式変更を行います。 操作を終了したら、[マクロ] ツールバーの [記録終了] アイコンをクリックします。または、再度 Ctrl キー、Shift キー、R キーを同時に押します。

マクロ レコーダにより、TemporaryMacro という名前のマクロ内部に Visual Basic コードとして、操作がキャプチャされます。 このマクロは、[MyMacros] という名称のマクロ プロジェクトに表示されます。 [ツール] メニューの [マクロ] をポイントし、[TemporaryMacro の実行] をクリックするか、または Ctrl キー、Shift キー、P キーを同時に押して、記録したマクロを再生します。 新しいマクロを記録すると、前回の TemporaryMacro が上書きされます。

マクロの記録は、Visual Studio オートメーション オブジェクト モデルにより IDE を利用する、優れた機能です。

Visual Studio オートメーション オブジェクト モデル

オートメーション モデルにより、ほとんどの Visual Studio IDE にプログラムからアクセスできるようになります。 マクロ、アドイン、または VSPackages を、環境の現在状態と相互作用させることができます。相互作用できる環境には、ツールバーとメニュー、プロジェクト システム、フォーム デザイナ、テキスト エディタとコード、Visual Studio で提供されるさまざまなツール ウィンドウなどがあります。

オートメーション オブジェクト モデルを使用するプログラムでは、Visual Studio に項目を追加できます。追加できる項目には、メニュー コマンド、ツールバー ボタン、ツールボックス項目、タスク一覧の項目、ツール ウィンドウなどがあります。

オートメーション オブジェクト モデルは、ほとんどの Visual Studio のオブジェクト モデルと同様に COM ベースですが、Visual Studio に同梱されているプライマリ相互運用アセンブリ (PIA) により、.NET 言語で使用できます。

オートメーションの詳細については、以下のリソースを参考にできます。

  • Visual Studio .NET 2003 オートメーション サンプル (英語)
    Visual Studio .NET 2003 のオートメーション サンプルです。
  • オートメーションと機能拡張の概要』 Kemp Brown 著、2002 年 2 月公開
    このホワイト ペーパーでは、オートメーション オブジェクト モデルと共にアドインを使用する方法がさらに詳細に説明されています。
  • 『Inside Microsoft Visual Studio .NET 2003』(英語:Brian Johnson、Craig Skibo、Marc Young 共著、Microsoft Press) では、オートメーション オブジェクト モデルでのマクロやアドインの作成と、さまざまなオブジェクトの使用について、広範囲にわたって説明されています。

[マクロ エクスプローラ] を使用して、Visual Studio でマクロを管理できます。 [表示] メニューの [その他のウィンドウ] をポイントし、[マクロ エクスプローラ] をクリックして、[マクロ エクスプローラ] を開きます。または、Alt キーを押しながら F8 キーを押します。 [マクロ エクスプローラ] により、現在のユーザーのすべてのマクロが表示され、プロジェクトとモジュールに整理されます。

既存のマクロを編集するか、または新しいマクロを作成できます。 作成したマクロまたはモジュールの名前は、変更できます。 名前を変更するだけで、TemporaryMacro を永続的に保存できます。 次にマクロ レコーダを使用する際は、新しい TemporaryMacro が作成されます。

独立した特殊な IDE であるマクロ IDE でも、マクロを編集できます。 マクロ IDE には、高度なマクロを正しく作成するために必要なすべてのツールが含まれています。ツールには、(Intellisense や構文色分けなどを備えた) Visual Studio テキスト エディタやデバッガがあります。

カスタム マクロを、メニュー コマンド、ツールバー ボタン、またはキー入力に結び付けることができます。 Visual Studio では、読み込まれたマクロが Visual Studio コマンド コレクションにすべて自動的に追加されます。 コマンドには、以下の構文を使用して名前が付けられます。

 Macros.MacroProjectName.MacroModuleName.MacroName

"Macros.MacroProjectName"、"MacroModuleName"、"MacroName" は使用するマクロの値に置き換えてください。

ツールバーまたはメニューにコマンドを追加するには、任意のツールバーまたはメニューを右クリックし、[ユーザー設定] をクリックします。[分類] ボックスで [マクロ] をクリックして、右のボックスに一覧表示されるマクロを確認します。 コマンドをツールバーまたはメニューにドラッグして、所定の場所にドロップします。

また、特定のキーボードのショートカットにマクロを結び付けることもできます。 キーボード ショートカットにマクロを結び付けるには、[ツール] メニューをクリックして、[オプション] をクリックします。 [オプション] ダイアログ ボックスの左のペインで、[環境] フォルダの [キーボード] オプションをクリックします。 コマンドの一覧から、マクロを探してクリックします (上記の命名手法を使用します)。 新しいショートカットのスコープを、[使用する場所] ボックスの一覧から選択します。 [ショートカット キー] ボックスに、使用するキーボードの組み合わせを入力します。 [現在使用されているショートカット] ボックスに、競合するショートカットが表示されます。 [割り当て] をクリックして、結び付けを完了します。

マクロでは、ほとんどの VisualStudio オートメーション オブジェクト モデルと同様に、.NET Framework のほぼすべての機能を利用できますが、いくつか制限事項があります。 マクロの実行エンジンが解釈できるのは、Visual Basic コードのみです。 さらに、マクロを使用して Visual Studio に新しいツール ウィンドウを作成することはできません。

マクロを他のユーザーと共有するには、それらのユーザーにマクロ プロジェクトを提供する必要があります。マクロを共有するユーザーは、[ツール] メニューの [マクロ] に一覧表示されている [マクロ プロジェクトの読み込み] を使用して、受け取ったマクロ プロジェクトを Visual Studio のインスタンスに読み込む必要があります。


アドイン

ユーザーはオートメーション オブジェクト モデルの機能を活用してアドインを作成し、Visual Studio をカスタマイズ、自動化、または拡張できます。 アドインは、Visual Studio のほとんどのツールや機能と相互作用します。これらのツールや機能には、タスク一覧、出力ウィンドウ、テキスト エディタ、およびコード モデルなどがあります。 コード モデルは、プロジェクトまたはファイル内の現在のコードを表す抽象モデルです。

アドインを Visual Studio に登録し、IDTExtensibility2 インターフェイスを実装する必要があります。 アドインは任意の言語で記述できます。

アドインを登録すると、そのアドインは [アドイン マネージャ] に表示されます。 この Visual Studio のウィンドウでは、実行するアドイン、およびVisual Studio の起動時にアドインを自動的に開始するかどうかを開発者が制御できます。

Visual Studio は、"IDTExtensibility2" インターフェイスを経由してアドインと対話します。 アドインがロードまたはアンロードされる際に、このインターフェイスによりアドインに通知され、IDE で発生したイベントが通知されます。 アドインが読み込まれる際、OnConnection メソッドが最初に呼び出されます。 このメソッドにより、オートメーション オブジェクト モデルの最上位の DTE オブジェクトがアドインに渡されます。この DTE オブジェクトにより、IDE の現在のインスタンスへのアクセスが提供されます。

最も簡単にアドインを作成する方法は、Visual Studio アドイン ウィザードを使用することです。 [新しいプロジェクト] ダイアログ ボックスから、Visual Studio アドイン ウィザードを起動できます。 [新しいプロジェクト] ダイアログ ボックスを開くには、[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。 [新しいプロジェクト] ダイアログ ボックスで、[その他のプロジェクト] ノードの一覧から [拡張機能プロジェクト] サブ ノードをクリックし、テンプレート ペインの [Visual Studio .NET アドイン] をクリックします。 ウィザードにより、Visual Studio にアドインを登録するコードが記述され、IDTExtensibility2 インターフェイスの基本的な実装が提供されます。 さらに、アドイン ウィザードを使用して、別のコンピュータにアドインを配置できます。


VSIP (Visual Studio Industry Partner)

多くの開発者は、オートメーション オブジェクト モデルで利用できるよりも高度な機能や柔軟性を必要としています。 たとえば、Visual Basic や Visual C# のようなマイクロソフト製品では、オートメーションでは作成できない、特殊なエディタおよびプロジェクト システムが必要です。

VSIP SDK では、上記の特殊なプロジェクト システムのような機能に対するサポートが提供されます。 多数の市販製品で VSIP SDK が利用され、ライフサイクル ツール、新しい .NET 言語、データベース開発ツールなどの多くの分野で、Visual Studio に豊富な機能が追加されています。

VSIP プログラムは最近更新され、Visual Studio の機能拡張の開発者コミュニティ向けに VSIP SDK へのアクセスを提供する、無償のメンバシップ レベルが含まれるようになりました。 VSIP プログラムの詳細についてはこちらを参照してください。

VSIP アプリケーションは VSPackages として配置され、アドインと同様に Visual Studio に登録されます。 各 VSPackage は、VSIP プログラムによって提供される特殊なキーを保持します。 製品の VSPackage は、Visual Studio レジストリ ハイブ (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Packages) に登録されます。 レジストリの設定により、VSPackage の読み込みの方法とタイミングが制御されます。

また、VSPackages には、IVSPackage インターフェイスを実装する必要があります。 SetSite メソッドにより、VSPackage が初期化され、VSPackage に IServiceProvider インターフェイスへのポインタが渡されます。 VSPackage では、IServiceProvider インターフェイスにより、Visual Studio のサービスとインターフェイス、さらにその他の VSPackages にもアクセスできるようになります。

Visual Studio は、主に COM インターフェイスに基づいています。VSIP SDK では、VSPackage がマネージ コードからこれらのインターフェイスにアクセスできるようにする相互運用アセンブリが用意されています。相互運用アセンブリに加えて、VSIP SDK でもマネージ言語のサンプル コードおよびウィザードが提供されているので、初期プロジェクト作成時間が短縮されます。

VSIP SDK

Visual Studio .NET 2003 の VSIP SDK 2003 では、COM インターフェイスを使用した Visual Studio IDE への高度な統合に対するサポートが提供されています。

Visual C# や Visual Basic などのマネージ コード言語を使用して VSPackages を開発するには、VSIP SDK 2003 への VSIP Extras 2003 アドオンが必要になります (マネージ コードのサポートは Visual Studio 2005 の VSIP SDK から開始され、SDK 自体に含まれます)。

VSIP SDK 2003 と VSIP Extras 2003 のダウンロード、または VSIP SDK の詳細については、VSIP SDK ダウンロード ページを参照してください。

VSIP プログラムと、さまざまなレベルの利点の詳細については、VSIP プログラム サイト を参照してください。

Visual Studio では、簡単なユーザー利便性の拡張から、IDE への新しい言語の追加にわたる広範な機能拡張が提供されます。 マクロ、アドイン、統合パッケージは、すべて Visual Studio の新しい機能と製品のニーズに合わせて利用できます。

Top of Page Top of Page


Microsoft