次の方法で共有


方法: モデリング拡張機能を定義およびインストールする

Visual Studio Ultimate では、のモデリング図の拡張を定義できます。これにより、図とモデルを各自のニーズに適応させることができます。たとえば、メニュー コマンド、UML プロファイル、検証制約、およびツールボックスの項目を定義できます。単一の拡張機能で複数のコンポーネントを定義できます。また、. の形式で Visual Studio Ultimate の他のユーザーがこれらの拡張機能を配布できます。Visual Studio Integration Extension (VSIX) Visual Studio で VSIX プロジェクトを使用して VSIX を作成できます。

要件

モデリング拡張機能ソリューションの生成

モデリング拡張機能を定義するには、次のプロジェクトを含むソリューションを生成する必要があります。

  • Visual Studio Integration Extension (VSIX) プロジェクト。このプロジェクトでは、拡張機能のコンポーネントのインストーラーとして機能するファイルを生成します。

  • プログラム コードを含むコンポーネントに必要なクラス ライブラリ プロジェクト。

1 つの拡張機能を複数のコンポーネントで構成する場合は、単一のソリューションにそれらのコンポーネントを組み込むことができます。1 個の VSIX プロジェクトのみ必要です。

コードを、カスタム ツールボックス項目やカスタム UML プロファイルなど、必要としないコンポーネントは、VSIX プロジェクトに別のクラス ライブラリ プロジェクトを使用せずに直接追加できます。プログラム コードを必要とするコンポーネントは、クラス ライブラリ プロジェクトでより簡単に定義できます。コードを必要とするジェスチャ ハンドラーのコンポーネントは、メニュー コマンド、検証コードが含まれています。

メニュー コマンドのクラス ライブラリ プロジェクトを作成するには、検証、またはジェスチャ ハンドラーをで表示します

  1. [ファイル] メニューで、[新規][プロジェクト] クリックします。

  2. **[インストールされているテンプレート]**の [ Visual C# か **[Visual Basic]**は、を **[クラス ライブラリ]**を選択します。

VSIX プロジェクトを作成するには

  1. コードを含むコンポーネントを作成する場合は、最初にクラス ライブラリ プロジェクトを作成するのが最も簡単な方法です。コードはそのプロジェクトに追加します。

  2. VSIX プロジェクトを作成する。

    1. ソリューションのショートカット メニューの **[ソリューション エクスプローラー]では、追加[新しいプロジェクト]**を選択します。

    2. **[インストールされているテンプレート]**の下に、Visual C# か **[Visual Basic]**を展開し、を **[機能拡張]を選択します。中央の列で、[VSIX プロジェクト]**を選択します。

  3. VSIX プロジェクトをソリューションのスタートアップ プロジェクトとして設定します。

    • VSIX プロジェクトのショートカット メニューの [ソリューション エクスプローラーで、**[スタートアップ プロジェクトに設定]**を選択します。
  4. source.extension.vsixmanifest を開きます。マニフェスト エディターでファイルが開きます。

  5. [メタデータ] のタブで、VSIX の名前と説明のフィールドを設定します。

  6. [対象のインストール] のタブで、新規 を選択し、Visual Studio の最終、Premium Edition を設定します。

  7. [アセット] のタブで、Visual Studio の拡張機能にコンポーネントを追加します。

    1. [新規作成] をクリックします。

    2. コードのコンポーネントでは、[新しい資産の追加] のダイアログ ボックスでこれらのフィールドを設定します:

      [種類] =

      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

{...

検証制約

方法: UML モデルの検証制約を定義する

[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 プロファイル

方法: プロファイルを定義して UML を拡張する

(定義されている場合)

ツールボックス項目

方法: カスタム モデリング ツールボックス項目を定義する

(定義されている場合)

拡張機能の開発段階での実行

拡張機能を開発段階において実行するには

  1. Visual Studio**[デバッグ]** のメニューで、**[デバッグの開始]**を選択します。

    プロジェクトがビルドされ、Visual Studio の新しいインスタンスが実験モードで起動されます。

    • また **[デバッグなしで開始]**を選択できます。これにより、プログラムの起動時間が短縮されます。
  2. 作成または Visual Studio の実験用インスタンスのモデリング プロジェクトを開き、図を作成または開きます。

    拡張機能が読み込まれて実行されます。

  3. [デバッグなしで開始] を使用すると、デバッガーを使用する場合は、Visual Studio のメイン インスタンスに戻ります。[デバッグ] メニューの [プロセスにアタッチ] をクリックします。ダイアログ ボックスで、プログラム名 devenvを持つ Visual Studio の実験用インスタンスを選択します。

拡張機能のインストールとアンインストール

Visual Studio の単独で実行するには、次の手順でコンピューターのまたは他のコンピューターのメイン インスタンスで拡張機能を実行します。

  1. 自分のコンピューターで、拡張機能プロジェクトによってビルドされた .vsix ファイルを見つけます。

    1. プロジェクトのショートカット メニューの **[ソリューション エクスプローラー]**では、を **[Windows エクスプローラーでフォルダーを開く]**を選択します。

    2. bin\*\<プロジェクト>.vsix ファイルを見つけます。

  2. 拡張機能をインストールする対象のコンピューターに .vsix ファイルをコピーします。自分のコンピューターでも別のコンピューターでもかまいません。

    • ターゲット コンピューターでは、source.extension.vsixmanifestターゲット インストール のタブで指定した Visual Studio のエディションの 1 つがある必要があります。
  3. ターゲット コンピューターでをダブルクリックして、たとえば .vsix ファイルを開きます。

    Visual Studio 拡張機能インストーラーが起動され、拡張機能がインストールされます。

  4. 開始または再開の Visual Studio。

拡張機能をアンインストールするには

  1. [ツール] メニューの [拡張機能マネージャー] をクリックします。

  2. [インストール済みの拡張機能] を展開します。

  3. 拡張機能を選択し、[アンインストール] をクリックします。

拡張機能の障害が原因で読み込みが失敗し、エラー ウィンドウにレポートが生成されることがまれにありますが、それは拡張機能マネージャーには表示されません。その場合は、次の場所からファイルを削除して、拡張機能を削除します (%LocalAppData% は通常、DriveName:\Users\UserName\AppData\Local)。

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

参照

概念

方法: プロファイルを定義して UML を拡張する

方法: カスタム モデリング ツールボックス項目を定義する

方法: UML モデルの検証制約を定義する

方法: モデリング図にメニュー コマンドを定義する