依存関係グラフの編集およびカスタマイズ
基になるコードに影響を与えずに依存関係グラフを編集できます。 この機能は、キー項目に重点を置く場合や、コードに関するアイデアをやり取りする場合に便利です。 たとえば、目的の領域を強調表示するために、ノードを選択してフィルター処理すること、ノードとリンクのスタイルを変更すること、ノードを非表示または削除すること、プロパティ、カテゴリ、またはグループを使用してノードを整理することができます。
グラフの Directed Graph Markup Language (.dgml) ファイルを編集すると、グラフをさらに詳細にカスタマイズできます。 たとえば、要素を編集してカスタム スタイルを指定したり、ノードとリンクにプロパティおよびカテゴリを割り当てたり、ドキュメント、URL、その他のグラフなどの項目にノードをリンクしたりすることができます。
注意
.dgml ファイルを保存すると、Visual Studio により、未使用の DGML 要素および属性が削除されクリーンアップされます。また、新しいリンクを手動で追加すると、ノード要素が自動的に作成されます。.dgml ファイルを保存すると、要素に追加した属性によって、自身がアルファベット順に並べ替えられる場合があります。DGML 要素の詳細については、「Directed Graph Markup Language (DGML) について」を参照してください。
要件
Visual Studio Ultimate、Visual Studio Premium、または Visual Studio Professional
依存関係グラフを生成するには、Visual Studio Ultimate が必要です。 「依存関係グラフ上のコード間での依存関係の対応付け」を参照してください。
このトピックの内容
ノードまたはリンクを選択する
ノードまたはリンクの名前を変更する
ノードやリンクの表示と非表示を切り替える
ノードとリンクを追加する
グラフにコメントを追加する
ノードを削除する
グループ ノード
グラフをマージする
グラフのスタイルを変更する
ノードまたはリンクのスタイルを変更する
一方のグラフから他方のグラフにスタイルをコピーする
ノードおよびリンクにプロパティを割り当てる
ノードおよびリンクにカテゴリを割り当てる
ノードまたはリンクに項目をリンクする
よく使用されるパスのエイリアスを作成する
ノードまたはリンクを選択する
目的 |
実行する手順 |
---|---|
すべての選択されていないノードを選択する |
選択したノードのショートカット メニューを開きます。 [選択]、[選択範囲の切り替え] の順にクリックします。 |
選択したノードにリンクしている追加のノードを選択する |
選択したノードのショートカット メニューを開きます。 [選択] をクリックし、次のいずれかを実行します。
|
ノードまたはリンクの名前を変更する
ノードまたはリンクを選択します。 F2 キーを押します。 エディット ボックスが表示されたら、ノードまたはリンクの名前を変更します。
ラベルが表示されている場合は、ラベルを選択します。
ノードやリンクの表示と非表示を切り替える
ノードを非表示にすると、そのノードはレイアウト アルゴリズムに加わらないままになります。 既定では、グループ間リンクは非表示です。 グループ間リンクは、グループにまたがってノードを接続する個々のリンクです。 グループを折りたたむと、すべてのグループ間リンクが、グループ間の単一リンクにまとめられます。 グループを展開し、グループ内のノードを選択すると、グループ間リンクが表示されて、そのグループ内の依存関係が示されます。
注意
Visual Studio Ultimate で生成したグラフを、Visual Studio Premium または Visual Studio Professional を使用するユーザーと共有する前に、他のユーザーが表示できるようにするノードやグループ間リンクを再表示しておく必要があります。そうしない場合、これらのユーザーはそれらの項目を再表示できなくなります。
ノードの表示/非表示を切り替えるには
目的 |
実行する手順 |
---|---|
選択したノードを非表示にする |
|
選択されていないノードを非表示にする |
|
非表示のノードを表示する |
|
.dgml ファイルを編集してノードを非表示にする |
|
リンクの表示/非表示を切り替えるには
目的 |
グラフ ツール バーの [グラフでのリンクの描画方法を変更します] のリストを開くか、グラフのショートカット メニューを開いて 選択するオプション |
---|---|
グループ間リンクを常時表示する |
[すべてのグループ間リンクを表示] これにより、グループ間の集約されたリンクは非表示になります。 |
選択したノードのグループ間リンクのみを表示する |
[選択したノードのグループ間リンクを表示] |
グループ間リンクを常時非表示にする |
[すべてのグループ間リンクを非表示] |
すべてのリンクを非表示にする (またはすべてのリンクを表示する) |
[すべてのリンクを非表示] すべてのリンクを表示するには、[すべてのリンクを非表示] を再度選択して、このモードをオフにします。 |
ノードとリンクを追加する
追加する新しい未定義のノード |
実行する手順 |
---|---|
現在のポインターの位置に追加する |
新しいノードを配置するグラフ上の場所を選択します。 Ins キーを押します。 |
選択したノードにリンクするノードを追加する |
|
現在フォーカスがある既存のノードにリンクするノードを追加する |
リンク先のノードにフォーカスが置かれるまで Tab キーを押します。 Alt キーと Shift キーを押しながら Ins キーを押します。 |
追加するノードの対象 |
実行する手順 |
---|---|
ソリューション内の項目 |
|
グラフ上のノードに関連する項目 |
ノードのショートカット メニューを開きます。 [表示] および必要な関係の種類を選択します。 アセンブリの場合、次のように選択します。
クラスの場合、次のように選択します。
メソッドの場合、次のように選択します。
フィールドの場合、次のように選択します。
|
コンパイルされた .NET アセンブリ (.dll または .exe) またはバイナリ |
アーキテクチャ エクスプローラーを使用し、項目と関係を見つけて、グラフにドラッグします。 |
既存のノード間にリンクを追加するには
ソース ノードを選択します。
ノードの上にツール バーが表示されます。
ツール バーの [このノードから次にクリックするノードへのリンクを新しく作成します] をクリックします。 ターゲット ノードを選択します。
2 つのノードの間にリンクが表示されます。
グラフにコメントを追加する
リンクされたコメントを追加するノードを選択します。
ノードの上にツール バーが表示されます。
ツール バーの [新しいコメント ノードと選択したノードへの新しいリンクを作成します] をクリックします。
コメントを入力します。 新しい行に入力するには、Shift キーを押しながら Enter キーを押します。
ノードを削除する
基になるコードに影響を与えずにグラフからノードを削除できます。 ノードを削除するには、ノードを選択し、Del キーを押します。 ノードを削除すると、ノードの定義は、DGML (.dgml) ファイルから削除されます。
グループからノードを削除すると、[子の再フェッチ] ボタン がグループ内に表示されます。 失われているノードを取得するには、[子の再フェッチ] をクリックします。 DGML を編集したり、未定義のノードを追加したり、旧バージョンの Visual Studio Ultimate を使用したりして作成したグラフは、この機能をサポートしません。
注意
Visual Studio Ultimate を使用して作成したグラフを、Visual Studio Premium または Visual Studio Professional を使用するユーザーと共有する場合、他のユーザーが表示できるようにするノードは、前もってグラフに表示可能に設定しておく必要があります。そうしない場合、これらのユーザーは削除されたノードを取得できなくなります。
グループ ノード
目的 |
実行する手順 |
---|---|
コンテナー ノードをグループ ノードまたはリーフ ノードとして表示する |
コンテナー ノードをリーフ ノードとして表示するには、ノードを選択します。 選択した対象のショートカット メニューを開きます。 [グループ]、[リーフに変換] の順にクリックします。 コンテナー ノードをグループ ノードとして表示するには、ノードを選択します。 選択した対象のショートカット メニューを開きます。 [グループ]、[グループに変換] の順にクリックします。 リーフ ノードをすべてグループ ノードとして表示するには、グラフのショートカット メニューを開きます。 [グループ]、[グループ化] の順にクリックします。 グループ ノードをすべてリーフ ノードとして表示するには、グラフのショートカット メニューを開きます。 [グループ]、[グループ化の解除] の順にクリックします。 |
ノードをグループに追加する |
ノードをグループにドラッグします。 ノードをグループ外にドラッグすることもできます。 |
ノードをグループ ノード以外に追加する |
すべてのノードはグループに変換できます。 ノードを目的のノードにドラッグします。 |
選択したノードをグループ化する |
|
特定のカテゴリまたは特定のプロパティを持つノードをグループ化する |
|
プロパティ値に基づいてノードをグループ化する |
|
グループを削除する |
削除する対象の 1 つまたは複数のグループを選択します。 選択した対象のショートカット メニューを開きます。 [グループ]、[グループの削除] の順にクリックします。 |
親グループから祖父母グループにノードを移動する (祖父母グループがない場合は、グループの外部にノードを移動する) |
移動するノードを選択します。 選択した対象のショートカット メニューを開きます。 [グループ]、[親から削除] の順にクリックします。 |
グラフの .dgml ファイルを編集してノードをグループ化するには
ノードをグループに変換するには、ノードのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio でグラフの .dgml ファイルが開き、そのノードに対応する <Node/> 要素が強調表示されます。
または
新しいグループを追加するには、次の操作を実行します。
グラフの空白領域のショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
<Nodes> セクションに、新たに <Node/> 要素を追加します。
<Node/> 要素に、Group 属性を追加して、グループを展開した状態で表示するか、折りたたんだ状態で表示するかを指定します。 次のように記述します。
<Nodes> <Node Id="MyFirstGroup" Group="Expanded" /> <Node Id="MySecondGroup" Group="Collapsed" /> </Nodes>
<Links> セクションで、グループ ノードとその子ノードとの間の関係ごとに、次の属性を持つ <Link/> 要素が存在していることを確認します。
グループ ノードを指定する Source 属性
子ノードを指定する Target 属性
グループ ノードとその子ノードとの間の Contains 関係を指定する Category 属性
次のように記述します。
<Links> <Link Category="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildOne" /> <Link Category ="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildTwo" /> <Link Category ="Contains" Source="MySecondNewGroup" Target="SecondGroupChildOne" /> <Link Category="Contains" Source="MySecondNewGroup" Target="SecondGroupChildTwo" /> </Links>
Category 属性の詳細については、「ノードおよびリンクにカテゴリを割り当てる」を参照してください。
グラフをマージする
グラフ間でノードをコピーして貼り付けることにより、グラフをマージできます。 ノードの識別子が一致する場合、ノードの貼り付けはマージ操作と同様に機能します。 このタスクを簡単にするためには、視覚化するすべてのアセンブリとバイナリを同じフォルダー内に配置することで、各アセンブリまたはバイナリの完全パスが、マージする各グラフに対して同じになるようにします。
または、次の手順のいずれかを実行して、視覚化するアセンブリまたはバイナリに対して単一のグラフを作成することもできます。
アセンブリまたはバイナリを同じグラフにドラッグします。
または
アーキテクチャ エクスプローラーを開きます。 [ファイル システム] で、[ファイルの選択] をクリックして、アセンブリまたはバイナリを参照、選択し、開きます。 グラフを調整するには、視覚化する特定の項目を選択します。 終了したら、アーキテクチャ エクスプローラーのツール バーの [選択したすべてのノードから、新しいグラフ ドキュメントを作成します] をクリックします。
グラフのスタイルを変更する
グラフの .dgml ファイルを編集することで、グラフの背景色および境界線の色を変更できます。 ノードおよびリンクのスタイルを変更する方法については、「ノードおよびリンクのスタイルを変更する」を参照してください。
グラフのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio で、グラフの .dgml ファイルが開きます。
<DirectedGraph> 要素に次の任意の属性を追加して、グラフのスタイルを変更します。
変更対象
追加する属性
背景色
Background="ColorNameOrHexadecimalValue"
境界線の色
Stroke="StrokeValue"
次のように記述します。
<DirectedGraph Background="Green" xmlns="https://schemas.microsoft.com/vs/2009/dgml" > ... ... </DirectedGraph>
ノードおよびリンクのスタイルを変更する
ノードのアイコン、およびノードとリンクの色を変更できます。 定義済みの色およびアイコンを使用することも、グラフの .dgml ファイルを編集してカスタム カラーおよびカスタム アイコンを指定することもできます。 「ノードおよびリンクにカスタム スタイルを適用する」を参照してください。
たとえば、色を選択することで、特定のカテゴリまたは特定のプロパティを持つノードおよびリンクを強調して表示できます。 これにより、グラフの特定の領域を特定し、目立たせることができます。
特定のカテゴリまたは特定のプロパティを持つノードに定義済みの色またはアイコンを適用するには
[凡例] ボックスが表示されていない場合は、グラフのショートカット メニューを開きます。 [凡例を表示する] をクリックします。
[凡例] ボックスで、ノードのカテゴリまたはプロパティがリストに表示されているかどうかを確認します。
リストにカテゴリまたはプロパティが含まれていない場合は、[凡例] ボックスの [+] をクリックし、[ノード カテゴリ] または [ノード プロパティ] をポイントして、カテゴリまたはプロパティをクリックします。
カテゴリまたはプロパティが [凡例] ボックスに表示されます。
注意
カテゴリを作成してノードに割り当てる方法については、「ノードおよびリンクにカテゴリを割り当てる」を参照してください。プロパティを作成してノードに割り当てる方法については、「ノードおよびリンクにプロパティを割り当てる」を参照してください。
[凡例] ボックスで、カテゴリまたはプロパティの横のドロップダウン リストを開きます。
次の表を使用して、変更するスタイルを選択します。
変更対象
Choose
背景色
背景
外枠の色
ストローク
テキストの色
前景
アイコン
アイコン
色 (またはアイコン) を選択できるように [カラー セット ピッカー] ボックスが表示されます。
[カラー セット ピッカー] ボックスで、次のいずれかの手順を実行します。
適用対象
実行する手順
色 (またはアイコン) のセット
[カラー設定の選択] (または [アイコン セットの選択]) のリストを開きます。 色 (またはアイコン) のセットを選択します。
既定の色 (またはアイコン) に戻すには、[カラー設定の選択] (または [アイコン セットの選択]) のリストで、[なし] をクリックします。
特定の色 (またはアイコン)
カテゴリまたはプロパティ値のリストを開きます。 色 (またはアイコン) を選択します。
注意
[凡例] ボックス内のスタイルを再整列、削除、または一時的に無効化できます。「[凡例] ボックスを変更する」を参照してください。
特定のカテゴリまたは特定のプロパティを持つリンクに定義済みの色を適用するには
[凡例] ボックスが表示されていない場合は、グラフのショートカット メニューを開きます。 [凡例を表示する] をクリックします。
[凡例] ボックスで、カテゴリまたはプロパティがリストに表示されているかどうかを確認します。
リストにカテゴリまたはプロパティが含まれていない場合は、[凡例] ボックスの [+] をクリックし、[リンク カテゴリ] または [リンク プロパティ] をポイントして、カテゴリまたはプロパティをクリックします。
カテゴリまたはプロパティが [凡例] ボックスに表示されます。
注意
カテゴリを作成してリンクに割り当てる方法については、「ノードおよびリンクにカテゴリを割り当てる」を参照してください。プロパティを作成してリンクに割り当てる方法については、「ノードおよびリンクにプロパティを割り当てる」を参照してください。
[凡例] ボックスで、カテゴリまたはプロパティの横のリストを開きます。
[ストローク] をクリックして、リンクのアウトラインと矢じりの色を変更します。
色を選択できるように [カラー セット ピッカー] ボックスが表示されます。
[カラー セット ピッカー] ボックスで、次のいずれかのオプションを実行します。
適用対象
実行する手順
色のセット
[カラー設定の選択] のリストを開きます。 色のセットを選択します。
既定の色に戻すには、[カラー設定の選択] のリストで、[なし] をクリックします。
特定の色
種類またはプロパティ値のリストを開いて、色を選択します。
注意
[凡例] ボックス内のスタイルを再整列、削除、または一時的に無効化できます。「[凡例] ボックスを変更する」を参照してください。
ノードおよびリンクにカスタム スタイルを適用する
次のアイテムにカスタム スタイルを適用できます。
単一のノードおよびリンク
ノードのグループおよびリンクのグループ
特定の条件に基づくノードのグループおよびリンクのグループ
単一のノードにカスタム スタイルを適用するには
スタイルをカスタマイズするノードのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio でグラフの .dgml ファイルが開き、そのノードに対応する <Node/> 要素が強調表示されます。
<Node/> 要素に次の属性を追加して、スタイルをカスタマイズします。
変更対象
追加する属性
背景色
Background="ColorNameOrHexadecimalValue"
外枠
Stroke="ColorNameOrHexadecimalValue"
外枠の太さ
StrokeThickness="StrokeValue"
テキストの色
Foreground="ColorNameOrHexadecimalValue"
アイコン
Icon="IconFilePathLocation"
テキストのサイズ
FontSize="FontSizeValue"
テキストの種類
FontFamily="FontFamilyName"
テキストの太さ
FontWeight="FontWeightValue"
テキストのスタイル
FontStyle="FontStyleName"
たとえば、テキストのスタイルとして Italic を指定できます。
テクスチャ
Style="Glass"
または
Style="Plain"
形式
シェイプをアイコンに置き換えるには、Shape プロパティを None に設定し、Icon プロパティをアイコン ファイルがあるパスに設定します。
Shape="ShapeFilePathLocation"
次のように記述します。
<Nodes> <Node Id="MyNode" Background="#FF008000" Stroke="#FF000000" Foreground="#FFFFFFFF" Icon="...\Icons\Globe.png"/> </Nodes>
単一のリンクにカスタム スタイルを適用するには
グラフ上で、マウス ポインターをリンクの上に移動します。 リンクのソース ノードとターゲット ノードを識別するツールヒントが表示されます (キーボード: リンクにフォーカスが置かれるまで Tab キーを押します)。
グラフのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio で、グラフの .dgml ファイルが開きます。
リンク元ノードとリンク先ノードの両方の名前を含む <Link/> 要素を探します。
<Link/> 要素に次の属性を追加して、スタイルをカスタマイズします。
変更対象
追加する属性
外枠と矢じりの色
Stroke="ColorNameOrHexadecimalValue"
外枠の太さ
StrokeThickness="StrokeValue"
外枠のスタイル
StrokeDashArray="StrokeArrayValues"
次のように記述します。
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Background="Green" Stroke="#FF000000" StrokeDashArray="2,2"/> </Links>
ノードのグループまたはリンクのグループにカスタム スタイルを適用するには
ノードまたはリンクに、目的のカテゴリまたはプロパティを割り当てます。
ヒント
多くのノードまたはリンクにわたって繰り返すスタイルがある場合は、これらのノードまたはリンクにカテゴリを適用し、そのカテゴリにスタイルを適用することを検討します。詳細については、「ノードおよびリンクにカテゴリを割り当てる」および「ノードおよびリンクにプロパティを割り当てる」を参照してください。
グラフのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio で、グラフの .dgml ファイルが開きます。
<Styles></Styles> 要素が存在しない場合、<Links></Links> 要素の後の <DirectedGraph></DirectedGraph> 要素の下位に、この要素を追加します。
<Styles></Styles> 要素で、<Style/> 要素の下位に次の属性を指定します。
TargetType="Node | Link | Graph"
GroupLabel="NameInLegendBox"
ValueLabel="NameInStylePickerBox"
全種類の対象にカスタム スタイルを適用する場合、条件は使用しません。
ノードのグループまたはリンクのグループに条件付きスタイルを適用するには
<Style/> 要素に、Expression 属性を含む <Condition/> 要素を追加して、ブール値を返す式を指定します。
次のように記述します。
<Condition Expression="MyCategory"/>
または
<Condition Expression="MyCategory > 100"/>
または
<Condition Expression="HasCategory('MyCategory')"/>
この式では、次のバッカス・ナウア記法 (BNF: Backus-Naur Form) 構文を使用します。
<Expression> ::= <BinaryExpression> | <UnaryExpression> | "("<Expression>")" | <MemberBindings> | <Literal> | <Number>
<BinaryExpression> ::= <Expression> <Operator> <Expression>
<UnaryExpression> ::= "!"<Expression> | "+" <Expression> | "-" <Expression>
<Operator> ::= "<" | "<=" | "=" | ">=" | ">" | "!=" | "or" | "and" | "+" | "*" | "/" | "-"
<MemberBindings> ::= <MemberBindings> | <MemberBinding> "."<MemberBinding>
<MemberBinding> ::= <MethodCall> | <PropertyGet>
<MethodCall> ::= <Identifier> "(" <MethodArgs> ")"
<PropertyGet> ::= Identifier
<MethodArgs> ::= <Expression> | <Expression> "," <MethodArgs> | <empty>
<Identifier> ::= [^.]*
<Literal> ::= 一重引用符または二重引用符で囲んだリテラル文字列
<Number> ::= 数字の文字列 (小数点も可)
複数の <Condition/> 要素を指定できます。スタイルを適用するには、それらがすべて true である必要があります。
<Condition/> 要素の後の次の行に、1 つ以上の <Setter/> 要素を追加して、条件を満たすグラフ、ノード、またはリンクに適用する Property 属性と、固定の Value 属性または計算される Expression 属性を指定します。
次のように記述します。
<Setter Property="BackGround" Value="Green"/>
以下に簡単な完成例を示します。この例の条件では、ノードの Passed カテゴリが True に設定されているか、または False に設定されているかに基づいて、ノードが緑色または赤色で表示されます。
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="https://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="MyFirstNode" Passed="True" />
<Node Id="MySecondNode" Passed="False" />
</Nodes>
<Links>
</Links>
<Styles>
<Style TargetType="Node" GroupLabel="Passed" ValueLabel="True">
<Condition Expression="Passed='True'"/>
<Setter Property="Background" Value="Green"/>
</Style>
<Style TargetType="Node" GroupLabel="Passed" ValueLabel="False">
<Condition Expression="Passed='False'"/>
<Setter Property="Background" Value="Red"/>
</Style>
</Styles>
</DirectedGraph>
次の表に、実際に使用できる条件例をいくつか示します。
[凡例] ボックスを変更する
[凡例] ボックス内のスタイルを、次のように再整列、削除、または一時的に無効化できます。
[凡例] ボックスのスタイルのショートカット メニューを開きます。
次のいずれかのタスクを実行します。
目的
Choose
アイテムを上へ移動する
[上へ移動]
アイテムを下へ移動する
[下へ移動]
アイテムを削除する
[Delete]
アイテムを無効にする
[無効化]
アイテムを再度有効にする
[有効化]
一方のグラフから他方のグラフにスタイルをコピーする
[凡例] ボックスがソース グラフに表示されることを確認します。 表示されない場合は、ソース グラフの空白領域のショートカット メニューを開きます。 [凡例を表示する] をクリックします。
[凡例] ボックスのショートカット メニューを開きます。 [凡例のコピー] をクリックします。
凡例をターゲット グラフに貼り付けます。
ノードおよびリンクにプロパティを割り当てる
ノードおよびリンクにプロパティを割り当てることで、ノードおよびリンクを編成できます。 たとえば、特定のプロパティを持つノードを選択して、それらのグループ化、スタイルの変更、または非表示化を実行できます。
ノードにプロパティを割り当てるには
ノードのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio でグラフの .dgml ファイルが開き、そのノードに対応する <Node/> 要素が強調表示されます。
<Node/> 要素で、プロパティの名前とその値を指定します。 次のように記述します。
<Nodes> <Node Id="MyNode" MyPropertyName="PropertyValue" /> </Nodes>
<Property/> 要素を <Properties> セクションに追加して、属性 (要素の表示名、データ型など) を指定します。
<Properties> <Property Id="MyPropertyName" Label="My Property" DataType="System.DataType"/> </Properties>
リンクにプロパティを割り当てるには
グラフ上で、マウス ポインターをリンクの上に移動します。 リンクのソース ノードとターゲット ノードを識別するツールヒントが表示されます (キーボード: リンクにフォーカスが置かれるまで Tab キーを押します)。
グラフのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio で、グラフの .dgml ファイルが開きます。
リンク元ノードとリンク先ノードの両方の名前を含む <Link/> 要素を探します。
<Node/> 要素で、プロパティの名前とその値を指定します。 次のように記述します。
<Links> <Link Source="MyFirstNode" Target="MySecondNode" MyPropertyName="PropertyValue" /> </Links>
<Property/> 要素を <Properties> セクションに追加して、属性 (要素の表示名、データ型など) を指定します。
<Properties> <Property Id="MyPropertyName" Label="My Property Name" DataType="System.DataType"/> </Properties>
ノードおよびリンクにカテゴリを割り当てる
ノードにカテゴリを割り当てることで、ノードを編成できます。 たとえば、特定のカテゴリに属するノードを選択して、それらのグループ化、スタイルの変更、または非表示化を実行できます。 特定のカテゴリを持つリンクは強調表示できます。 詳細については、以下のセクションを参照してください。
グループ ノード
ノードおよびリンクのスタイルを変更する
ノードの表示/非表示を切り替える
ノードにカテゴリを割り当てるには
- [カテゴリ 1] などの定義済みのカテゴリを割り当てるには、ノードのショートカット メニューを開きます。 [分類] をクリックし、定義済みのカテゴリを選択します。
または
カスタム カテゴリを作成して割り当てるには
- 分類するノードを選択します。 F4 キーを押して [プロパティ] ウィンドウを開きます。 ノードの [新しいカテゴリ] プロパティにカテゴリ名を入力します。 Enter キーを押します。
または
ノードのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio でグラフの .dgml ファイルが開き、そのノードに対応する <Node/> 要素が強調表示されます。
<Node/> 要素に Category 属性を追加して、カテゴリの名前を指定します。 次のように記述します。
<Nodes> <Node Id="MyNode" Category="MyCategory" /> </Nodes>
<Categories> セクションに <Category/> 要素を追加することで、Label 属性を使用してそのカテゴリの表示テキストを指定できます。
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
リンクにカテゴリを割り当てるには
グラフで、マウス ポインターをリンクの上へ移動してツールヒントを表示し、リンク元ノードとリンク先ノードを確認します。(キーボード: リンクにフォーカスが置かれるまで Tab キーを押します)。
グラフのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio で、グラフの .dgml ファイルが開きます。
リンク元ノードとリンク先ノードの両方の名前を含む <Link/> 要素を探します。
<Link/> 要素に Category 属性を追加して、カテゴリの名前を指定します。 次のように記述します。
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory" </Links>
<Categories> セクションに <Category/> 要素を追加することで、Label 属性を使用してそのカテゴリの表示テキストを指定できます。
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
階層構造のカテゴリを作成すると、継承を使用してノードの編成および子カテゴリへの属性の追加を行う際に便利です。
階層構造のカテゴリを作成するには
親カテゴリを示す <Category/> 要素を追加し、次に子カテゴリの <Category/> 要素に BasedOn 属性を追加します。
次のように記述します。
<Nodes> <Node Id="MyFirstNode" Label="My First Node" Category= "MyCategory" /> <Node Id="MySecondNode" Label="My Second Node" /> </Nodes> <Links> <Link Source="MyFirstNode" Target="MySecondNode" /> </Links> <Categories> <Category Id="MyCategory" Label="My Category" BasedOn="MyParentCategory"/> <Category Id="MyParentCategory" Label="My Parent Category" Background="Green"/> </Categories>
この例では、MyFirstNode の背景は緑色になります。これは、その Category 属性が MyParentCategory の Background 属性を継承するためです。
ノードまたはリンクに項目をリンクする
ドキュメントや URL などの項目をノードまたはリンクにリンクするには、グラフの .dgml ファイルを編集し、ノードの <Node/> 要素またはリンクの <Link/> 要素に Reference 属性を追加します。 これで、ノードまたはリンクからそのコンテンツを開いて参照できるようになります。 Reference 属性では、そのコンテンツのパスを指定します。 これには、.dgml ファイルの場所に対する相対パス、または絶対パスを使用できます。
注意
相対パスを使用し、.dgml ファイルが別の位置に移動された場合、それらのパスは解決しません。リンクされたコンテンツを開いて参照しようとした場合、コンテンツを表示できないことを示すエラーが発生します。
たとえば、次のアイテムをリンクできます。
クラスに対する変更を示すには、クラスを示すノードに、作業項目、ドキュメント、または別の .dgml ファイルの URL をリンクします。
ソフトウェアの論理アーキテクチャのレイヤーを表すグループ ノードにレイヤー図をリンクします。
インターフェイスを公開するコンポーネントに関する詳細情報を表示するには、そのインターフェイスを示すノードにコンポーネント図をリンクします。
ノードを、ノードに関連する Team Foundation Server の作業項目やバグ、またはその他の情報にリンクします。
アイテムからノードへのリンクを設定するには
グラフ上でノードのショートカット メニューを開きます。 [ジャンプ]、[DGML] の順にクリックします。
Visual Studio でグラフの .dgml ファイルが開き、そのノードに対応する <Node/> 要素が強調表示されます。
次の表にあるタスクのいずれかを実行します。
リンク対象
実行する手順
単一のアイテム
<Node/> 要素または <Link/> 要素で、Reference 属性を追加して項目の場所を指定します。
注意
1 つの要素に対して 1 つの Reference 属性のみを使用できます。
次のように記述します。
<Nodes> <Node Id="MyNode" Reference="MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
複数のアイテム
<Node/> 要素または <Link/> 要素で、各参照の場所を指定する新しい属性を追加します。
<Properties> セクションで、次の操作を行います。
新しい種類の参照ごとに <Property/> 要素を追加します。
新しい参照属性の名前に Id 属性を設定します。
IsReference 属性を追加し、それを True に設定して、参照が項目の [ジャンプ] ショートカット メニューに表示されるようにします。
Label 属性を使用して、項目の [ジャンプ] ショートカット メニューの表示テキストを指定します。
次のように記述します。
<Nodes> <Node Id="MyNode" SequenceDiagram="MySequenceDiagram.sequencediagram" ActiveBugs="MyActiveBugs.wiq"/> </Nodes> <Properties> <Property Id="SequenceDiagram" Label="My Sequence Diagram" DataType="System.String" IsReference="True" /> <Property Id="ActiveBugs" Label="Active Bugs" DataType="System.String" IsReference="True" /> </Properties>
参照で文字列を繰り返し使用する代わりに、ReferenceTemplate 属性を使用して、複数の参照で使用する共通の文字列 (URL など) を指定します。
ReferenceTemplate 属性では、参照の値のプレースホルダーを指定します。 次の例では、ReferenceTemplate 属性の {0} プレースホルダーは、<Node/> 要素の MyFirstReference 属性および MySecondReference 属性の値に置換され、完全なパスが生成されます。
<Nodes> <Node Id="MyNode" MyFirstReference="MyFirstDocument" MySecondReference="MySecondDocument"/> <Node Id="MySecondNode" MyFirstReference="AnotherFirstDocument" MySecondReference="AnotherSecondDocument"/> </Nodes> <Properties> <Property Id="MyFirstReference" Label="My First Document" DataType="System.String" IsReference="True" ReferenceTemplate="http://www.Fabrikam.com/FirstDocuments/{0}.asp"/> <Property Id="MySecondReference" Label="My Second Document" DataType="System.String" IsReference="True" ReferenceTemplate=" http://www.Fabrikam.com/SecondDocuments/{0}.asp"/> </Properties>
参照される項目をグラフから表示するには、ノードまたはリンクのショートカット メニューを開きます。 [ジャンプ] をクリックし、項目を選択します。
よく使用されるパスのエイリアスを作成する
よく使用されるパスをエイリアスに置き換えると、.dgml ファイルのサイズを小さくして、ファイルの読み込みまたは保存に必要な時間を短縮することができます。 エイリアスを作成するには、.dgml ファイルの末尾に <Paths></Paths> セクションを追加します。 このセクションには、パスのエイリアスを定義する <Path/> 要素を追加します。
<Paths> <Path Id="MyPathAlias" Value="C:\...\..." /> </Paths>
.dgml ファイル内の要素からエイリアスを参照するには、<Path/> 要素の Id 値をドル記号 ($) とかっこ (()) で囲みます。
<Nodes> <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Directed Graph Markup Language (DGML) について
DGML では、単純な XML を使用して、循環および非循環の有向グラフを記述します。 有向グラフは、リンク (エッジ) によって接続されている一連のノードです。 ノードとリンクを使用すると、ネットワーク構造 (ソフトウェア プロジェクトの要素など) を表すことができます。 情報の視覚化、複雑性解析の実行、または単に有向グラフの参照および編集を行うには、DGML を使用します。
ノードとリンクはグラフ要素、または単に要素と呼ばれます。 DGML で使用される要素の種類を次の表に示します。
注意
.dgml ファイルを編集するときは、各要素とその値に使用できる属性が IntelliSense によって識別されます。属性で色を指定するには、一般的な色の名前 ("Blue" など) または ARGB 16 進値 ("#ffa0b1c3" など) を使用してください。DGML では、WPF (Windows Presentation Foundation) 色定義形式の小さいサブセットを使用します。詳細については、「Colors クラス」を参照してください。
参照
概念