方法: カスタム モデリング ツールボックス項目を定義する
Visual Studio Ultimate では、よく使用するパターンに従って要素または要素グループを容易に生成できるように、モデル図のツールボックスに新しいツールを追加できます。これらのツールボックス項目は、他の Visual Studio Ultimate ユーザーに配布できます。
カスタム ツールは、図の一つ以上の新しい要素を作成します。カスタムのつながりツールを作成できません。
たとえば、次の要素を生成するカスタム ツールを生成できます:
.NET プロファイルにリンクされたパッケージ、および .NET ステレオタイプを持つクラス。
オブザーバー パターンを表すための関連によってリンクされたクラスのペア。
このメソッドを使用して、要素ツールを生成できます。つまり、ツールボックスから図にドラッグできるツールを生成できます。コネクタ ツールは生成できません。
カスタム モデリング ツールの定義
カスタム モデリング ツールを定義するには
要素または要素グループを含む UML 図を生成します。
- これらの要素は、お互いの間に関係を持つことができるほか、ポート、属性、操作、ピンなどの下位要素を持つことができます。
新しいツールに付ける名前を使用してダイアグラムを保存します。[ファイル] で、メニューの [Save…As] を使用します。
Windows エクスプローラーを使用して、2 つの図ファイルを次のフォルダーまたは任意のサブフォルダーにコピーします。
<ドキュメント>\Visual Studio 2012\Architecture Tools\Custom Toolbox Items
このフォルダーがない場合は、フォルダーを作成します。Architecture Tools および Custom Toolbox Items の両方を生成する場合があります。
名前が "...diagram" で終わる図ファイルと、名前が "...diagram.layout" で終わる図ファイルの両方をコピーします。
カスタム ツールは、数の制限なく生成できます。ツールごとに 1 つの図を使用します。
(省略可能)「カスタム ツールのプロパティを定義する方法」の手順に従って .tbxinfo ファイルを生成し、同じディレクトリに追加します。これにより、ツールボックス アイコンやツールヒントなどを定義できます。
- 1 つの .tbxinfo ファイルを使用して複数のツールを定義できます。このファイルは、サブフォルダーに格納されている図ファイルを参照できます。
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 に他の拡張機能です。詳細については、「Deploying Visual Studio Extensions (Visual Studio 拡張機能の配置)」を参照してください。
通常は、VSIX プロジェクト テンプレートを使用して、Visual Studio 拡張機能を生成します。これを行うには、Visual Studio SDK をインストールしておく必要があります。
ツールボックス項目を Visual Studio 拡張機能に追加するには
1 つ以上のカスタム ツールを生成し、テストします。
ツールを参照する .tbxinfo ファイルを生成します。
既存の Visual Studio 拡張機能プロジェクトを開きます。
または
新しい Visual Studio 拡張機能プロジェクトを定義します。
[ファイル] メニューで、[新規]、[プロジェクト] クリックします。
[新しいプロジェクト] のダイアログ ボックスで、[インストールされているテンプレート] の下に、[Visual C#]、[機能拡張]、[VSIX プロジェクト] を選択します。
ツールボックス定義をプロジェクトに追加します。.tbxinfo ファイル、図ファイル、ビットマップ ファイル、および任意のリソース ファイルが VSIX に含まれている必要があります。
VSIX プロジェクトのショートカット メニューの[ソリューション エクスプローラーで、[追加]、[既存の項目] を選択します。ダイアログ ボックスで、[オブジェクトの種類: すべてのファイル] を設定します。ファイルを探し、すべて選択し、を [追加] を選択します。
[!メモ]
このプロジェクトでは、図ファイルをモデル エディターで開くことはできません。
先ほど追加したすべてのファイルに対し、次のプロパティを設定します。ソリューション エクスプローラーですべてを選択すると、プロパティを同時に設定できます。プロジェクト内の他のファイルのプロパティを変更しないように注意してください。
[出力ディレクトリにコピー] = [常にコピーする]
[ビルド アクション] = [コンテンツ]
[VSIX に含める] = [true]
source.extension.vsixmanifest を開きます。これは拡張機能マニフェスト エディターで開きます。
[メタデータ] の下で、カスタム ツールの説明を追加します。
[資産] の下に、次のように [新規作成] を選択して、ダイアログのフィールドを設定します:
型 = [Custom Extension Type]
[型] = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems
[!メモ]
これは、ボックスの一覧の選択項目の 1 つがではありません。キーボードを使用してコントロールに入力します。
Source= [ファイル システム上のファイル]。
パス = .tbxinfo のファイル (MyTools.tbxinfo
プロジェクトをビルドします。
検証することの作業の F5 キーを押します。Visual Studio の実験用インスタンス。
実験用インスタンスで、関連する型の UML 図を作成または開きます。新しいツールがツールボックスに表示され、要素と要素を正しく作成していることを確認します。
エクスプローラーの配置用の VSIX ファイルを取得する: は、.vsix ファイルを検索するフォルダー .\bin\Debug か .\bin\Release を開きます。これは Visual Studio 拡張ファイルです。このファイルは、自分のコンピューターにインストールできるほか、他の Visual Studio ユーザーに送信することもできます。
Visual Studio 拡張機能からカスタム ツールをインストールするには
エクスプローラーまたは Visual Studio の .vsix ファイルを開きます。
ダイアログ ボックスの [インストール] を選択します。
拡張機能をアンインストールしたり一時的に無効にしたりするには、[ツール] メニューの [拡張機能マネージャー] を開きます。
ローカリゼーション
拡張機能が別のコンピューターにインストールされている場合は、その拡張機能によって対象のコンピューターの言語でツール名とツールヒントが表示されるように設定できます。
複数の言語でツールのバージョンを提供するには
1 つ以上のカスタム ツールを含む Visual Studio 拡張機能プロジェクトを生成します。
.tbxinfo ファイルで、リソース ファイル メソッドを使用して、ツールの displayName、ツールボックスの tabName、およびツールヒントを定義します。これらの文字列を定義するリソース ファイルを生成し、アセンブリにコンパイルしてから、tbxinfo ファイルが参照するようにします。
文字列が他の言語に翻訳されたリソース ファイルを含む追加のアセンブリを言語ごとに生成します。
追加のアセンブリを言語のカルチャ コードを示す名前のフォルダーにそれぞれ格納します。たとえば、アセンブリのフランス語バージョンであれば、fr という名前のフォルダーに格納します。
fr-CA のような特定カルチャではなく、通常 2 つの文字で構成されるニュートラル カルチャ コードを使用する必要があります。カルチャ コードの詳細については、すべてのカルチャ コードが一覧表示されている「CultureInfo.GetCultures method (CultureInfo.GetCultures メソッド)」を参照してください。
Visual Studio 拡張機能をビルドし、配布します。
拡張機能が別のコンピューターにインストールされるときに、ユーザーのローカル カルチャに対応するリソース ファイルのバージョンが自動的に読み込まれます。ユーザーのカルチャに対応するバージョンが提供されていない場合は、既定のリソースが使用されます。
この方法を使用してプロトタイプ図の異なるバージョンをインストールすることはできません。要素およびコネクタの名前は、すべてのインストールで同じです。
その他のツールボックス操作
通常、Visual Studioで、ツールの名前を変更し、別のツールボックス タブへの移動、および削除することで、ツールボックスをカスタマイズできます。ただし、これらの変更は、このトピックの手順で作成したカスタム モデリング ツールごとに保持されません。Visual Studio を再起動すると、定義されている名前とツールボックスでの位置に基づいて、カスタム ツールが表示されます。
また、[ツールボックスのリセット] コマンドを実行すると、カスタム ツールは非表示になります。ただし、Visual Studio を再起動すると、カスタム ツールは再び表示されます。