Share via


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

Visual Studio Ultimate では、よく使用するパターンに従って要素または要素グループを容易に生成できるように、モデル図のツールボックスに新しいツールを追加できます。 これらのツールボックス項目は、他の Visual Studio Ultimate ユーザーに配布できます。

たとえば、次の要素を生成するためのカスタム ツールを生成できます。

  • .NET プロファイルにリンクされたパッケージ、および .NET ステレオタイプを持つクラス。

  • オブザーバー パターンを表すための関連によってリンクされたクラスのペア。

このメソッドを使用して、要素ツールを生成できます。 つまり、ツールボックスから図にドラッグできるツールを生成できます。 コネクタ ツールは生成できません。

カスタム モデリング ツールの定義

カスタム モデリング ツールを定義するには

  1. 要素または要素グループを含む UML 図を生成します。

    • これらの要素は、お互いの間に関係を持つことができるほか、ポート、属性、操作、ピンなどの下位要素を持つことができます。

    • ソリューション エクスプローラーで、図の名前を新しいツールに与える名前に変更します。

  2. 図を保存します。

  3. Windows エクスプローラーを使用して、2 つの図ファイルを次のフォルダーまたは任意のサブフォルダーにコピーします。

    <ドキュメント>\Visual Studio 2010\Architecture Tools\Custom Toolbox Items

    • このフォルダーがない場合は、フォルダーを作成します。 Architecture Tools および Custom Toolbox Items の両方を生成する場合があります。

    • 名前が "...diagram" で終わる図ファイルと、名前が "...diagram.layout" で終わる図ファイルの両方をコピーします。

    • カスタム ツールは、数の制限なく生成できます。 ツールごとに 1 つの図を使用します。

  4. (省略可能)「カスタム ツールのプロパティを定義する方法」の手順に従って .tbxinfo ファイルを生成し、同じディレクトリに追加します。 これにより、ツールボックス アイコンやツールヒントなどを定義できます。

    • 1 つの .tbxinfo ファイルを使用して複数のツールを定義できます。 このファイルは、サブフォルダーに格納されている図ファイルを参照できます。
  5. Visual Studio を再起動します。 図の種類に応じて、ツールボックスに追加のツールが表示されます。

カスタム ツールで複製される内容

カスタム ツールは、コピー元の図のほとんどの特性を複製します。

  • 名前。 ツールボックスから項目を生成するときに、同じ名前空間内で名前が重複するのを避ける必要がある場合は、名前の末尾に数字が付加されます。

  • 色、サイズ、およびシェイプ。

  • ステレオタイプおよびパッケージ プロファイル。

  • Is Abstract などのプロパティ値。

  • リンクされた作業項目。

  • 関係の多重度およびその他のプロパティ。

  • シェイプの相対位置。

カスタム ツールでは、次の機能は保持されません。

  • 単純な図形。 これらの図形はモデル要素に関連しておらず、ある種類の図で描画できます。

  • コネクタのルーティング。 コネクタが手動でルーティングされている場合、ツールを使用したときはルーティングは保持されません。 ポートなど、入れ子になった図形の位置は、所有者に対して相対的に保持されます。

カスタム ツールのプロパティを定義する方法

ツールボックス情報 (.tbxinfo) ファイルでは、1 つ以上のカスタム ツールのツールボックスの名前、アイコン、ツールヒント、タブ、およびヘルプ キーワードを指定できます。 MyTools.tbxinfo など、任意の名前を付けることができます。

このファイルの一般的な形式を次に示します。

<?xml version="1.0" encoding="utf-8" ?>
<customToolboxItems xmlns="https://schemas.microsoft.com/visualstudio/2010/ArchitectureTools/CustomToolboxItems">
  <customToolboxItem fileName="MyObserverTool.classdiagram">
    <displayName>
       <value>Observer Pattern</value>
    </displayName>
    <tabName>
       <value>UML Class Diagram</value>
    </tabName>
    <image><bmp fileName="ObserverPatternIcon.bmp"/></image>
    <f1Keyword>
      <value>ObserverPatternHelp</value>
    </f1Keyword>
    <tooltip>
       <value>Create a pair of classes</value>
    </tooltip>
  </customToolboxItem>
</customToolboxItems>

各項目の値は、次のどちらかです。

  • 例に示されているように、ツールボックス アイコンの場合は <bmp fileName="…"/>、その他の項目の場合は <value>string</value>。

または

  • <resource fileName="Resources.dll"

    baseName="Observer.resources" id="Observer.tabname" />

    この場合、文字列値がリソースとしてコンパイルされているコンパイル済みのアセンブリを指定します。

定義するそれぞれのツールボックス項目に対して、<customToolboxItem> ノードを追加します。

.tbxinfo ファイル内のノードを次に示します。 それぞれのノードには、既定値があります。

ノード名

定義内容

displayName

ツールボックス項目の名前。

tabName

項目が表示されるツールボックスのタブ。 この種類の図の標準タブの名前か、別個の名前を指定できます。

image

ビットマップ (.bmp) ファイルの場所。ビットマップ ファイルは、高さおよび幅が 16 ピクセルで、色深度が 24 ビットである必要があります。

f1Keyword

ヘルプ トピックを見つけるためのキーワード。

tooltip

このツールのツールヒント。

ビットマップ ファイルを Visual Studio で編集し、プロパティ ウィンドウでその高さと幅を 16 ピクセルに設定できます。

注意

独自の図ファイルを実験的に使用した後に .tbxinfo ファイルを使用した場合、古いツールボックス項目と新しいツールボックス項目の両方がツールボックスに含まれている場合があります。 このような状況は、.tbxinfo ファイル内で図ファイルの名前が間違っている場合にも発生することがあります。 このような場合は、ツールボックス項目を右クリックし、[ツールボックスのリセット] をクリックします。 カスタム ツールボックス項目が非表示になります。 Visual Studio を再起動すると、適切なカスタム項目が表示されます。

Visual Studio 拡張機能を使用してツールボックス項目を配布する方法

ツールボックス項目を他の Visual Studio ユーザーに配布するには、ツールボックス項目を Visual Studio Extension (VSIX) にパッケージ化します。 コマンド、プロファイル、およびその他の拡張機能を同じ VSIX ファイルにパッケージ化できます。詳細については、「Visual Studio の拡張機能の配置」を参照してください。

通常は、VSIX プロジェクト テンプレートを使用して、Visual Studio 拡張機能を生成します。 これを行うには、Visual Studio SDK をインストールしておく必要があります。

ツールボックス項目を Visual Studio 拡張機能に追加するには

  1. 1 つ以上のカスタム ツールを生成し、テストします。

  2. ツールを参照する .tbxinfo ファイルを生成します。

  3. 既存の Visual Studio 拡張機能プロジェクトを開きます。

    または

    新しい Visual Studio 拡張機能プロジェクトを定義します。

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

    2. [新しいプロジェクト] ダイアログ ボックスで、[インストールされたテンプレート] の下の [Visual C#] を展開します。[機能拡張] をクリックし、[VSIX プロジェクト] をクリックします。 プロジェクト名を設定し、[OK] をクリックします。

  4. ツールボックス定義をプロジェクトに追加します。 .tbxinfo ファイル、図ファイル、ビットマップ ファイル、および任意のリソース ファイルが VSIX に含まれている必要があります。

    • ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] をポイントして、[既存の項目] をクリックします。 ダイアログ ボックスで、[オブジェクトの種類: すべてのファイル] を設定します。 ファイルを参照してすべてのファイルを選択し、[追加] をクリックします。

      注意

      このプロジェクトでは、図ファイルをモデル エディターで開くことはできません。

  5. 先ほど追加したすべてのファイルに対し、次のプロパティを設定します。 ソリューション エクスプローラーですべてを選択すると、プロパティを同時に設定できます。 プロジェクト内の他のファイルのプロパティを変更しないように注意してください。

    [出力ディレクトリにコピー] = [常にコピーする]

    [ビルド アクション] = [コンテンツ]

    [VSIX に含める] = [true]

  6. source.extension.vsixmanifest を開きます。 これは拡張機能マニフェスト エディターで開きます。

  7. [コンテンツ] で、カスタム ツールを説明する行を追加します。 [コンテンツの追加] をクリックし、ダイアログ ボックスで、次のフィールドを設定します。

    • [コンテンツ タイプ] = [カスタム拡張機能の種類]

    • [型] = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems

    • [パス] = [プロジェクトに含める].tbxinfo ファイル (MyTools.tbxinfo など) を選択します。

  8. 必要に応じて [Product Name] およびその他のフィールドを設定できます。

  9. プロジェクトをビルドします。

  10. Windows エクスプローラーで、.\bin\Debug フォルダーまたは .\bin\Release フォルダーを開いて .vsix ファイルを見つけます。 これは Visual Studio 拡張ファイルです。 このファイルは、自分のコンピューターにインストールできるほか、他の Visual Studio ユーザーに送信することもできます。

Visual Studio 拡張機能からカスタム ツールをインストールするには

  1. Windows エクスプローラーで .vsix ファイルをダブルクリックするか、または Visual Studio 内でこのファイルを開きます。

  2. 表示されたダイアログ ボックスで、[インストール] をクリックします。

  3. 拡張機能をアンインストールしたり一時的に無効にしたりするには、[ツール] メニューの [拡張機能マネージャー] を開きます。

ローカリゼーション

拡張機能が別のコンピューターにインストールされている場合は、その拡張機能によって対象のコンピューターの言語でツール名とツールヒントが表示されるように設定できます。

複数の言語でツールのバージョンを提供するには

  1. 1 つ以上のカスタム ツールを含む Visual Studio 拡張機能プロジェクトを生成します。

    .tbxinfo ファイルで、リソース ファイル メソッドを使用して、ツールの displayName、ツールボックスの tabName、およびツールヒントを定義します。 これらの文字列を定義するリソース ファイルを生成し、アセンブリにコンパイルしてから、tbxinfo ファイルが参照するようにします。

  2. 文字列が他の言語に翻訳されたリソース ファイルを含む追加のアセンブリを言語ごとに生成します。

  3. 追加のアセンブリを言語のカルチャ コードを示す名前のフォルダーにそれぞれ格納します。 たとえば、アセンブリのフランス語バージョンであれば、fr という名前のフォルダーに格納します。

  4. fr-CA のような特定カルチャではなく、通常 2 つの文字で構成されるニュートラル カルチャ コードを使用する必要があります。 カルチャ コードの詳細については、すべてのカルチャ コードが一覧表示されている「CultureInfo.GetCultures method (CultureInfo.GetCultures メソッド)」を参照してください。

  5. Visual Studio 拡張機能をビルドし、配布します。

  6. 拡張機能が別のコンピューターにインストールされるときに、ユーザーのローカル カルチャに対応するリソース ファイルのバージョンが自動的に読み込まれます。 ユーザーのカルチャに対応するバージョンが提供されていない場合は、既定のリソースが使用されます。

この方法を使用してプロトタイプ図の異なるバージョンをインストールすることはできません。 要素およびコネクタの名前は、すべてのインストールで同じです。

その他のツールボックス操作

Visual Studio では、通常、ツールの名前を変更すること、別のツールボックス タブにツールを移動すること、およびツールを削除することで、ツールボックスをカスタマイズできます。ただし、このトピックで説明した手順で生成されたカスタム モデリング ツールの場合は、これらの変更は保持されません。 Visual Studio を再起動すると、定義されている名前とツールボックスでの位置に基づいて、カスタム ツールが表示されます。

また、[ツールボックスのリセット] コマンドを実行すると、カスタム ツールは非表示になります。 ただし、Visual Studio を再起動すると、カスタム ツールは再び表示されます。

参照

概念

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

その他の技術情報

UML モデルと図の拡張

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

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