次の方法で共有


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

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

要件

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

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

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

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

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

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

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

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

  2. [インストールされたテンプレート][Visual Basic] または [Visual C#] をクリックし、[クラス ライブラリ] をクリックします。

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

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

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

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

    2. [インストールされたテンプレート][Visual C#] または [Visual Basic] を展開し、[機能拡張] をクリックします。 中央の列で、[VSIX プロジェクト] をクリックします。

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

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

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

  6. [Install Targets] (インストールの対象) タブで、[新規作成] をクリックし、Visual Studio の Ultimate エディションおよび Premium エディションを設定します。

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

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

    2. コードを含むコンポーネントの場合は、[Add New Asset] (新しいアセットの追加) ダイアログ ボックスで、次のフィールドを設定します。

      [種類] =

      Microsoft.VisualStudio.MefComponent

      [ソース] =

      現在のソリューション内のプロジェクト

      [プロジェクト] =

      Your class library project

      [Embed in this folder] (このフォルダーに埋め込み) =

      (empty)

      その他の種類のコンポーネントについては、次のセクションのリンクを参照してください。

コンポーネントの開発

メニュー コマンドやジェスチャ ハンドラーなどの各コンポーネントに対し、個別のハンドラーを定義する必要があります。 同じクラス ライブラリ プロジェクトに複数のハンドラーを設定できます。 次の表は、さまざまな種類のハンドラーの一覧です。

拡張機能の種類

トピック

各コンポーネントの一般的な宣言方法

メニュー コマンド

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

[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 のメイン インスタンスに戻ります。 [デバッグ] メニューの [プロセスにアタッチ] をクリックします。 ダイアログ ボックスで、Visual Studio の実験用インスタンスを選択します。プログラム名は devenv です。

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

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

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

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

    2. bin\*\YourProject.vsix ファイルを見つけます。

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

    • ターゲット コンピューターは、source.extension.vsixmanifest[Installation Targets] (インストールの対象) タブで指定した Visual Studio のいずれかのエディションを搭載している必要があります。
  3. ターゲット コンピューターで .vsix ファイルを開きます。たとえば、ダブルクリックして開きます。

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

  4. Visual Studio を起動または再起動します。

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

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

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

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

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

%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions

参照

概念

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

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

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

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