方法: モデリング拡張機能を定義およびインストールする
Visual Studio Ultimate では、のモデリング図の拡張を定義できます。これにより、図とモデルを各自のニーズに適応させることができます。たとえば、メニュー コマンド、UML プロファイル、検証制約、およびツールボックスの項目を定義できます。単一の拡張機能で複数のコンポーネントを定義できます。また、. の形式で Visual Studio Ultimate の他のユーザーがこれらの拡張機能を配布できます。Visual Studio Integration Extension (VSIX) Visual Studio で VSIX プロジェクトを使用して VSIX を作成できます。
要件
から派生した [Visual Studio ギャラリー]できる Visual Studio SDK。
から派生した Code Gallery の Visual Studio の Visualization and Modeling SDKできる Visual Studio の Visualization and Modeling SDK。
モデリング拡張機能ソリューションの生成
モデリング拡張機能を定義するには、次のプロジェクトを含むソリューションを生成する必要があります。
Visual Studio Integration Extension (VSIX) プロジェクト。このプロジェクトでは、拡張機能のコンポーネントのインストーラーとして機能するファイルを生成します。
プログラム コードを含むコンポーネントに必要なクラス ライブラリ プロジェクト。
1 つの拡張機能を複数のコンポーネントで構成する場合は、単一のソリューションにそれらのコンポーネントを組み込むことができます。1 個の VSIX プロジェクトのみ必要です。
コードを、カスタム ツールボックス項目やカスタム UML プロファイルなど、必要としないコンポーネントは、VSIX プロジェクトに別のクラス ライブラリ プロジェクトを使用せずに直接追加できます。プログラム コードを必要とするコンポーネントは、クラス ライブラリ プロジェクトでより簡単に定義できます。コードを必要とするジェスチャ ハンドラーのコンポーネントは、メニュー コマンド、検証コードが含まれています。
メニュー コマンドのクラス ライブラリ プロジェクトを作成するには、検証、またはジェスチャ ハンドラーをで表示します
[ファイル] メニューで、[新規]、[プロジェクト] クリックします。
**[インストールされているテンプレート]**の [ Visual C# か **[Visual Basic]**は、を **[クラス ライブラリ]**を選択します。
VSIX プロジェクトを作成するには
コードを含むコンポーネントを作成する場合は、最初にクラス ライブラリ プロジェクトを作成するのが最も簡単な方法です。コードはそのプロジェクトに追加します。
VSIX プロジェクトを作成する。
ソリューションのショートカット メニューの **[ソリューション エクスプローラー]では、追加、[新しいプロジェクト]**を選択します。
**[インストールされているテンプレート]**の下に、Visual C# か **[Visual Basic]**を展開し、を **[機能拡張]を選択します。中央の列で、[VSIX プロジェクト]**を選択します。
VSIX プロジェクトをソリューションのスタートアップ プロジェクトとして設定します。
- VSIX プロジェクトのショートカット メニューの [ソリューション エクスプローラーで、**[スタートアップ プロジェクトに設定]**を選択します。
source.extension.vsixmanifest を開きます。マニフェスト エディターでファイルが開きます。
[メタデータ] のタブで、VSIX の名前と説明のフィールドを設定します。
[対象のインストール] のタブで、新規 を選択し、Visual Studio の最終、Premium Edition を設定します。
[アセット] のタブで、Visual Studio の拡張機能にコンポーネントを追加します。
[新規作成] をクリックします。
コードのコンポーネントでは、[新しい資産の追加] のダイアログ ボックスでこれらのフィールドを設定します:
[種類] =
Microsoft.VisualStudio.MefComponent
[ソース] =
[現在のソリューション内のプロジェクト]
[プロジェクト] =
、クラス ライブラリ プロジェクト
このフォルダーには、を使用します。*** =
(空)
その他の種類のコンポーネントについては、次のセクションのリンクを参照してください。
コンポーネントの開発
メニュー コマンドやジェスチャ ハンドラーなどの各コンポーネントに対し、個別のハンドラーを定義する必要があります。同じクラス ライブラリ プロジェクトに複数のハンドラーを設定できます。次の表は、さまざまな種類のハンドラーの一覧です。
拡張機能の種類 |
トピック |
各コンポーネントの一般的な宣言方法 |
---|---|---|
メニュー コマンド |
[ClassDesignerExtension] // or other diagram types [Export(typeof(ICommandExtension))] public class MyCommand : ICommandExtension {... |
|
ドラッグ アンド ドロップまたはダブルクリック |
[ClassDesignerExtension] // or other diagram types [Export(typeof(IGestureExtension))] public class MyGesture : IGestureExtension {... |
|
検証制約 |
[Export(typeof( System.Action<ValidationContext, object>))] [ValidationMethod(ValidationCategories.Save | ValidationCategories.Menu)] public void ValidateSomething (ValidationContext context, IClassifier elementToValidate) {...} |
|
作業項目リンク イベント ハンドラー |
[Export(typeof(ILinkedWorkItemExtension))] public class MyWorkItemEventHandler : ILinkedWorkItemExtension {... |
|
UML プロファイル |
(定義されている場合) |
|
ツールボックス項目 |
(定義されている場合) |
拡張機能の開発段階での実行
拡張機能を開発段階において実行するには
Visual Studio**[デバッグ]** のメニューで、**[デバッグの開始]**を選択します。
プロジェクトがビルドされ、Visual Studio の新しいインスタンスが実験モードで起動されます。
- また **[デバッグなしで開始]**を選択できます。これにより、プログラムの起動時間が短縮されます。
作成または Visual Studio の実験用インスタンスのモデリング プロジェクトを開き、図を作成または開きます。
拡張機能が読み込まれて実行されます。
[デバッグなしで開始] を使用すると、デバッガーを使用する場合は、Visual Studio のメイン インスタンスに戻ります。[デバッグ] メニューの [プロセスにアタッチ] をクリックします。ダイアログ ボックスで、プログラム名 devenvを持つ Visual Studio の実験用インスタンスを選択します。
拡張機能のインストールとアンインストール
Visual Studio の単独で実行するには、次の手順でコンピューターのまたは他のコンピューターのメイン インスタンスで拡張機能を実行します。
自分のコンピューターで、拡張機能プロジェクトによってビルドされた .vsix ファイルを見つけます。
プロジェクトのショートカット メニューの **[ソリューション エクスプローラー]**では、を **[Windows エクスプローラーでフォルダーを開く]**を選択します。
bin\*\<プロジェクト>.vsix ファイルを見つけます。
拡張機能をインストールする対象のコンピューターに .vsix ファイルをコピーします。自分のコンピューターでも別のコンピューターでもかまいません。
- ターゲット コンピューターでは、source.extension.vsixmanifestの ターゲット インストール のタブで指定した Visual Studio のエディションの 1 つがある必要があります。
ターゲット コンピューターでをダブルクリックして、たとえば .vsix ファイルを開きます。
Visual Studio 拡張機能インストーラーが起動され、拡張機能がインストールされます。
開始または再開の Visual Studio。
拡張機能をアンインストールするには
[ツール] メニューの [拡張機能マネージャー] をクリックします。
[インストール済みの拡張機能] を展開します。
拡張機能を選択し、[アンインストール] をクリックします。
拡張機能の障害が原因で読み込みが失敗し、エラー ウィンドウにレポートが生成されることがまれにありますが、それは拡張機能マネージャーには表示されません。その場合は、次の場所からファイルを削除して、拡張機能を削除します (%LocalAppData% は通常、DriveName:\Users\UserName\AppData\Local)。
%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions