Изменение и настройка графов зависимостей
Можно изменить графы зависимостей, не затрагивая основного кода.Это полезно, когда нужно сосредоточить внимание на ключевых позициях или распространить идеи о коде.Например, для выбора интересующих областей, можно выбрать узлы и отфильтровать их изменение стиля узлов и ссылок или скрывает узлов, удаления и организация узлов с использованием свойства, категории или группы.
Граф можно настроить и позже, отредактировав DGML-файл.Например, можно отредактировать DGML-элементы в файле, чтобы указать пользовательские стили, присвоить узлам и ссылкам свойства и категории, или связать узлы с элементами, такими как документы, URL-адреса или другие DGML-файлы.
Примечание |
---|
Visual Studio очищает любые не используемые DGML элементы и атрибуты, удаляя их при сохранении DGML-файла.Он также создает элементы узла автоматически при ручном добавить новые связи. При сохранении dgml-файла все атрибуты, добавленных к элементу, потребуется изменить порядок в алфавитном порядке.Дополнительные сведения о DGML-элементах см. в разделе Основные сведения о языке разметки направленных графов (DGML). |
Требования
Visual Studio Ultimate, Visual Studio Premium или Visual Studio Professional
Для создания графа зависимостей необходимо иметь Visual Studio Ultimate.Дополнительные сведения см. в разделе Визуализация зависимостей кода на графах зависимостей.
Содержание раздела
Выберите узлы или ссылки
Переименовать ссылки или узлы
Скрыть или Показать узлы и ссылки
Добавить узлы и ссылки
Добавление комментариев к графу.
Удаление узлов
Группирование узлов
Объединение графов
Изменение стиля графа
Измените узел или свяжите стиль
Копирование стилей из одного графа в другой
Присвоение свойств узлам и ссылкам
Присвоение категорий узлам и ссылкам
Связывание элементов к узлам и ссылкам
Создание псевдонимов для часто используемых путей
Выберите узлы или ссылки
Целевой тип |
Выполните следующие действия |
---|---|
Выбор всех невыбранных узлов |
Откройте контекстное меню для выбранных узлов.Выберите Выделить, Обратить выделение. |
Выберите дополнительные узлы, связанные с уже выбранными |
Откройте контекстное меню для выбранных узлов.Выберите Выделить и одно из следующих действий:
|
Переименовать ссылки или узлы
Выберите узел или ссылку.Нажмите клавишу F2.При появлении поля ввода переименуйте узел или ссылку.
Если метка видима, выберите метку.
Скрыть или Показать узлы и ссылки
Сокрытие узлов сохраняет их от участия в алгоритмах структуры.По умолчанию межгрупповые связи скрыты.Связи между группами являются отдельными связями, которые соединяют узлы между различными группами.Когда группы свернуты, граф группирует все связи между группами в единичные связи между группами.При разворачивании группы и выборе узлов внутри группы будут отображены связи между группами и показаны фактические зависимости в этой группе.
Внимание |
---|
Перед тем как совместно использовать граф, который был создан в Visual Studio Ultimate, с сотрудниками, использующими Visual Studio Premium или Visual Studio Professional, убедитесь в отсутствии каких-либо скрытых связанных узлов или межгрупповых связей, предназначенных для просмотра.В противном случае пользователи не смогут отобразить эти элементы. |
Сокрытие и отображение узлов
Целевой тип |
Выполните следующие действия |
---|---|
Скрыть выбранные узлы |
|
Скрыть невыбранные узлы |
|
Показать скрытые узлы |
|
Сокрытие узлов путем редактирования DGML-файла |
|
Отображение или скрытие ссылок
Целевой тип |
На панели инструментов графа, откройте список Изменение способа отображения связей на графе или откройте контекстное меню графа. Выберите: |
---|---|
Одновременное отображение связей между группами |
Показать все ссылки между группами Это позволяет скрыть совокупные связи между группами. |
Показать только связи между группами в выбранных узлах |
Показать ссылки между группами в выбранных узлах |
Одновременное сокрытие связей между группами |
Скрыть ссылки между группами |
Скрытие всех ссылок (или отображение всех ссылок) |
Скрыть все ссылки Чтобы показать все связи, выберите Скрыть все связи повторно, что отключит этот режим. |
Добавить узлы и ссылки
Добавление нового неопределенный узел |
Выполните следующие действия |
---|---|
В текущую позицию указателя |
Выделите место на диаграмме, куда поместить новый узел.Нажмите клавишу Вставить. |
Такой связи с выбранным узлом |
|
Который ссылается на существующий узел с текущим фокусом |
Нажмите клавишу TAB до узла, с которым нужно связать и имеет фокус.Нажмите клавишу Alt+Shift+Вставить. |
Добавление узлов для |
Выполните следующие действия |
---|---|
Элементы в решении |
|
Элементы, относящиеся к узлам на диаграмме |
Откройте контекстное меню узла.Выберите Показать и интересующий тип отношения. Для сборки выберите команду:
Для класса выберите команду:
Для метода выберите:
Для поля выберите:
|
Компилированные сборки .NET (.dll или .exe) или бинарный |
Используйте Обозреватель архитектуры для поиска и перетаскивания элементов и отношений в графе. |
Добавление связи между существующими узлами
Выберите исходный узел.
Панель инструментов, запускается что бы появиться над узлом.
На панели управления выберите Создать новую ссылку из этого узла с любым узлом на который вы кликнете следующим.Выберите целевой узел.
Ссылка появляется между двумя узлами.
Добавление комментариев к графу.
Выберите узел, где необходимо добавить связанный комментарий.
Панель инструментов, запускается что бы появиться над узлом.
На панели инструментов выберите Создание нового узла комментария с новой ссылкой на выбранный узел.
Введите здесь свои комментарии.Чтобы ввести на новой строке, нажмите клавишу SHIFT+Ввод.
Удаление узлов
Можно удалять узлы из графа не затрагивая исходный код.Для удаления узлов выберите узел и нажмите клавишу Удалить ключ.При удалении узлов, их определения удалены из файла DGML (dgml).
При удалении узлов из группы, кнопка Повторно получить дочерний элемент появляется внутри группы.Для получения отсутствующие узлов, выберите Повторно получить дочерний элемент.Графы, созданы путем редактирования DGML, добавляющие неопределенные узлы или созданные с помощью предыдущих версий Visual Studio Ultimate, не поддерживают эту возможность.
Внимание |
---|
Перед тем как совместно использовать диаграмму, которая была создана с помощью Visual Studio Ultimate с тем кто использует Visual Studio Premium или Visual Studio Professional, убедитесь, что любые другие узлы которые должны быть видимыми другим отображаются на графе.В противном случае эти пользователи не смогут восстановить удаленные узлы. |
Группирование узлов
Целевой тип |
Выполните следующие действия |
---|---|
Показ узлов в виде узлов группы или конечных узлов |
Чтобы отобразить узлы в качестве конечных узлов, сначала выберите узлы.Откройте контекстное меню для выделения.Выберите Группа, Преобразовать в листовой узел. Чтобы отобразить узлы в качестве групповых узлов, сначала выберите узлы.Откройте контекстное меню для выделения.Выберите Группа, Преобразовать в группу. Чтобы отобразить все листовые узлы как групповые узлы, откройте контекстное меню графа.Выберите Группа, Включить группировку. Чтобы отобразить все групповые узлы как листовые узлы, откройте контекстное меню графа.Выберите Группа, Выключить группировку. |
Добавление узла в группу |
Перетащите узел на группу. Можно также перетаскивать узлы из группы. |
Добавление узла к узлу, не состоящему в группе |
Любой узел можно преобразовать в группу.Перетащите узел на целевой узел. |
Группирование выбранных узлов |
|
Группировка узлов определенных категорий или свойств |
|
Группирование узлов в соответствии со значениями свойств |
|
Удаление групп |
Выберите группы, которые требуется удалить.Откройте контекстное меню для выделения.Выберите Группа, Удалить группу. |
Перемещение узлов из родительских групп в прародительскую или вне группы, если прародительская группа не существует |
Выберите узлы, которые требуется переместить.Откройте контекстное меню для выделения.Выберите Группа, Удаление из родительского элемента. |
Для группирования узлов с помощью редактирования 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, который определяет дочерний узел.
Атрибут Category, который определяет связь Contains между узлом группы и его дочерним узлом
Например:
<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-файл графа.Смотреть Применение Пользовательских стилей к Узлам и Ссылкам.
Например, можно выбрать цвет подсветки узлов и ссылок в соответствии с категорией или свойством.Это позволит идентифицировать и сфокусироваться на определенной области графа.
Применение к узлу с определенной категорией или свойством предопределенного цвета или значка
Если окно ЛЕГЕНДА не отображается, откройте контекстное меню для графа.Выберите Показать легенду.
Проверьте, отображаются ли категория и свойство узла в поле Условные обозначения.
Если список не содержит категорию или список, выберите + в окне ЛегендаКатегория узла или Свойство Узла, и затем выберите категорию или свойство.
Свойство сейчас появляется в поле Условные обозначения.
Примечание Чтобы создать и присвоить узлу категорию, см. раздел Присвоение категорий узлам и ссылкам.Чтобы создать и присвоить узлу свойство, см. раздел Присвоение свойств узлам и ссылкам.
В поле Условные обозначения откройте раскрывающийся список рядом с категорией или свойством.
Воспользуйтесь следующей таблицей, чтобы выбрать стиль, который нужно изменить:
Чтобы изменить
Выберите
Цвет фона
Фон
Цвет контура
Росчерк
Цвет текста
Foreground
Значок
Значки
Набор цветов появится окно выбора цвета (или значок).
В диалоге Цветовая палитра активируйте один из следующих параметров:
Применить
Выполните следующие действия
Палитра цветов (или значков
Открыть список Выбор цвета (или иконка) УСТАНОВИТЬ список.Выберите набор цветов (или значков).
Чтобы вернуть цвет (или значок) по умолчанию, в раскрывающемся списке Выбор палитры цветов (значков) выберите Отсутствует.
Определенный цвет (или значок)
Откройте список категорий или значений свойств.Выберите цвет (или значок).
Примечание Стили можно изменить, удалить или временно отключить в поле Условные обозначения.Смотреть Изменение блока Условные обозначения.
Применение к ссылкам с определенной категорией или свойством предопределенного цвета или значка
Если окно ЛЕГЕНДА не отображается, откройте контекстное меню для графа.Выберите Показать легенду.
Проверьте отображаются ли категория или свойство в списке в поле Условные обозначения.
Если список не содержит категорию или свойство, выберите Добавить в Условные Обозначения, Категория ссылки или Link Property, а затем выберите категорию или свойство.
Свойство сейчас появляется в поле Условные обозначения.
Примечание Чтобы создать и присвоить ссылке категорию, см. раздел Присвоение категорий узлам и ссылкам.Чтобы создать и присвоить ссылке свойство, см. раздел Присвоение свойств узлам и ссылкам.
В поле Условные обозначения откройте раскрывающийся список рядом с категорией или свойством.
Выберите Росчерк пера чтобы изменить структуру взаимодействия и цвет с наконечником стрелки.
Появится окно Набор цветов для выбора цвета.
В поле Цветовая палитра активируйте один из следующих параметров:
Применить
Выполните следующие действия
Цветовая палитра
Открыть список Выбор цветазадать список.Выберите набор цветов.
Чтобы вернуть цвет по умолчанию, в раскрывающемся списке Выбор цветовой палитры выберите Отсутствует.
Определенный цвет
Откройте раскрывающийся список значений свойства для выбора цвета.
Примечание Стили можно изменить, удалить или временно отключить в поле Условные обозначения.Смотреть Изменение блока Условные обозначения.
Применение пользовательских стилей к узлам и ссылкам
Пользовательские стили можно применять к таким элементам:
единичным узлам и ссылкам;
группам узлов и ссылок;
группам узлов и ссылок на основании определенных условий.
Применение пользовательского стиля к единичному узлу
Открыть контекстное меню для узла стиль которого нужно настраивать.Выберите Перейти, 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>
Применение пользовательского стиля к единичной ссылке
На диаграмме, наведите указатель мыши над связью.Подсказка появляется и указывается узел источника и целевого объекта ссылки.(Клавиатура: НажмитеВкладка пока не будет выделена ссылка.)
Откройте контекстное меню графа.Выберите Перейти, 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> не существует, добавьте его под элементом <DirectedGraph></DirectedGraph> за элементом <Links></Links>.
В элементе <Styles></Styles> под элементом <Style/> и укажите следующие атрибуты:
TargetType="Node | Link | Graph"
GroupLabel="NameInLegendBox"
ValueLabel="NameInStylePickerBox"
Чтобы применить пользовательский стиль ко всем типам целевого объекта не следует использовать это условие.
Применение условного стиля к группам узлов или ссылок
В элементе <Style/> добавьте элемент <Condition/>, который содержит атрибут Expression, чтобы указать выражение, возвращающее логическое значение.
Например:
<Condition Expression="MyCategory"/>
- или -
<Condition Expression="MyCategory > 100"/>
- или -
<Condition Expression="HasCategory('MyCategory')"/>
Это выражение использует следующий синтаксис "Формы Бэкуса-Наура" (BNF):
<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/>, которые должны выполняться применение стиля.
В следующей строке, после элемента <Condition/>, добавьте один или несколько элементов <Setter/>, чтобы указать атрибут Property и фиксированный атрибут Value или вычисляемый атрибут Expression, чтобы применить к графу, узлам или ссылкам, отвечающим условию.
Например:
<Setter Property="BackGround" Value="Green"/>
Завершенным, простым примером является следующее условие, которое указывает, что узел отображается зеленым или красным цветом в зависимости от значения его категории PassedTrue или 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>
В следующей таблице приведены некоторые примеры используемых условий:
Изменение поля "Условные обозначения"
Стили можно изменить, удалить или временно отключить в поле Условные обозначения:
Открыть контекстное меню для стиля в окне ЛЕГЕНДА.
Выполните одну из следующих задач:
Целевой тип
Выберите
Перемещение стиля вверх
Вверх
Перемещение элемента вниз
Вниз
Удаление элемента
Удаление
Отключить элемент
Отключить
Повторно включить элемент
Включить
Копирование стилей из одного графа в другой
Убедитесь, что окно ЛЕГЕНДА отображается на диаграмме источника.Если он не виден, откройте контекстное меню для пустой области диаграммы источника.Выберите Показать легенду.
Открыть контекстное меню для окна ЛЕГЕНДА.Выберите Копировать легенду.
Вставьте легенду на целевой диаграммы.
Присвоение свойств узлам и ссылкам
Организовать узлы и ссылки можно присвоив им свойства.Например, можно выбрать узлы с особыми свойствами для их группирования, изменения стиля или скрытия.
Присвоение узлу свойства
Откройте контекстное меню узла.Выберите Перейти, 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>
Присвоение свойства ссылке
На диаграмме, наведите указатель мыши над связью.Подсказка появляется и указывается узел источника и целевого объекта ссылки.(Клавиатуры: нажмите клавишу Вкладка до появления фокуса на ссылке.)
Откройте контекстное меню графа.Выберите Перейти, 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, открыть контекстное меню для узла.Выберите Задать категории и предопределенная категория.
- или -
Создание и присвоение пользовательской категории:
- Выберите узел, который требуется каталогизировать.Для открытия окна Properties нажмите клавишу F4.Введите имя категории в свойстве Новая категория узла.Нажмите клавишу ВВОД.
- или -
Откройте контекстное меню узла.Выберите Перейти, DGML.
Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.
В элементе <Node/> добавьте атрибут Category, чтобы указать имя категории.Например:
<Nodes> <Node Id="MyNode" Category="MyCategory" /> </Nodes>
Добавьте элемент <Category/> в раздел <Categories>, чтобы можно было воспользоваться атрибутом Label для определения отображения текста для категории:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
Присвоение категории ссылке
На графе наведите указатель мыши на ссылку, чтобы увидеть подсказку и определить исходный и целевой узлы ссылки.(Клавиатуры: нажмите клавишу Вкладка до появления фокуса на ссылке.)
Откройте контекстное меню графа.Выберите Перейти, DGML.
Visual Studio открывает DGML-файл графа.
Найдите элемент <Link/>, содержащий имена исходного и целевого узла.
В элементе <Link/> добавьте атрибут Category, чтобы указать имя категории.Например:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory" </Links>
Добавьте элемент <Category/> в раздел <Categories>, чтобы можно было воспользоваться атрибутом Label для определения отображения текста для категории:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
Можно создать иерархические категории, чтобы облегчить организацию узлов и добавить атрибуты к дочерним категориям с помощью интерфейса.
Создание иерархических категорий
Добавьте элемент <Category/> для родительской категории, затем добавьте атрибут BasedOn к элементу дочерней категории <Category/>.
Например:
<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 наследует атрибут BackgroundMyParentCategory.
Связывание элементов к узлам и ссылкам
Элементы, такие как документы или URL-адреса, можно связывать с узлом посредством редактирования DGML-файла графа и добавления атрибута Reference в элемент <Node/> этого узла или для ссылки <Link/> .Затем из этого узла или ссылки в графе можно открыть и просмотреть содержимое.Атрибут Reference задает путь к данному содержимому.Этот путь может относится к расположению DGML-файла или к абсолютному пути.
Внимание |
---|
При использовании относительных путей и dgml-файл переместить в другое расположение, то эти пути больше не допускают.При попытке открыть и просмотреть связанного содержимого, возникает сообщение о том, что не удается просмотреть содержимое. |
Например, можно попробовать связать следующие элементы:
Для описания изменения класса можно связать URL-адрес рабочего элемента, документа или другого DGML-файла с узлом класса.
Схему слоев можно связать с узлом группы, который представляет слой в логической архитектуре программного обеспечения.
Схему компонентов можно связать с узлом интерфейса, чтобы показать больше сведений о компоненте, представляемом этим интерфейсом.
Свяжите узел с рабочим элементом Team Foundation Server, ошибкой или другой информацией, касающейся узла.
Связывание элемента с узлом
На диаграмме открыть контекстное меню для узла.Выберите Перейти, DGML.
Visual Studio открывает DGML-файл графа и выделяет элемент <Node/> для этого узла.
Выполните одну из задач, представленных в следующей таблице:
Чтобы связать
Выполните следующие действия
Один элемент
В элементе <Node/> или <Link/>, добавьте атрибут Reference чтобы указать расположение элемента.
ПримечаниеУ элемента может быть только один атрибут 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 указывает заполнитель для значения ссылки.В следующем примере заполнитель {0} в атрибуте ReferenceTemplate будет заменен значениями атрибутов MyFirstReference и MySecondReference в элементе <Node/> для выполнения полного пути:
<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-файла и время, требуемое на загрузку или сохранение файла.Для создания псевдонима добавьте раздел <Paths></Paths> в конце DGML-файла.В этом разделе добавьте элемент <Path/> для того, чтобы определить псевдоним для пути.
<Paths>
<Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>
Чтобы сослаться на псевдоним из элемента DGML-файла, следует окружить значение Id элемента <Path/> знаком доллара ($) и круглыми скобками (()).
<Nodes>
<Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
<Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>
Основные сведения о языке разметки направленных графов (DGML)
DGML использует простой XML-код для описания циклического и ациклического направленного графа.Направленный граф представляет собой набор узлов, соединенных ссылками или границами.Узлы и ссылки могут быть использованы для представления сетевых структур, например элементов программного проекта.Можно использовать DGML для визуализации информации, выполнения анализа сложности или просто для просмотра и редактирования графа.
Узлы и ссылки называются элементами графа или просто элементами.В следующей таблице описаны виды элементов, используемых в языке DGML.
Примечание |
---|
При редактировании DGML-файла IntelliSense показывает атрибуты, доступные для данного элемента, и их значения.Задавая цвет с помощью атрибута, можно использовать имена для обычных цветов, например "Blue", или шестнадцатеричные значения ARGB, например "#ffa0b1c3".DGML использует небольшое подмножество форматов определения цветов Windows Presentation Foundation (WPF).Дополнительные сведения см. в разделе Colors — класс. |
Элемент |
Пример формата |
---|---|
<DirectedGraph></DirectedGraph> Это корневой элемент документ направленного графа (DGML).Все остальные DGML-элементы отображаются внутри области этого элемента. Следующий список описывает необязательные атрибуты, которые могут быть включены в элемент.
|
|
<Nodes></Nodes> Необязательный элемент содержит список элементов <Node/>, задающих узлы графа.Дополнительные сведения см. в описании элемента <Node/>.
Примечание
Если сослаться в элементе <Link/> на несуществующий элемент графа, граф создаст элемент <Node/> автоматически.
|
|
<Node/> Этот элемент определяет единичный узел.Он отображается внутри списка элементов <Nodes><Nodes/>. Этот элемент в обязательном порядке включает следующие атрибуты.
Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.
|
|
<Links></Links> Этот элемент содержит список элементов <Link>, задающих ссылки между узлами.Дополнительные сведения см. в описании элемента <Link/>. |
|
<Link/> Этот элемент определяет единичную ссылку, соединяющую исходный узел с целевым узлом.Он отображается внутри списка элементов <Links></Links>.
Примечание
Если данный элемент ссылается на неопределенный узел, документ графа автоматически создаст узел с заданными атрибутами, если таковые имеются.
Этот элемент в обязательном порядке включает следующие атрибуты.
Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.
|
|
<Categories></Categories> Этот элемент содержит список элементов <Category/>.Дополнительные сведения см. в описании элемента <Category/>. |
|
<Category/> Этот элемент определяет атрибут Category, который используется для указания на элементы, имеющие одинаковые значения этого атрибута.Атрибут Category может быть использован для организации элементов графа, предоставления общих атрибутов через наследование или для определения дополнительных метаданных. Этот элемент в обязательном порядке включает следующие атрибуты.
Следующий список описывает некоторые из необязательных атрибутов, которые могут быть включены в элемент.
Категории также предоставляют базовый шаблон поведения, который определяет отображение узлов и ссылок в графе.Смотреть Применение Пользовательских стилей к Узлам и Ссылкам. |
|
<Properties></Properties> Этот элемент содержит список элементов <Property/>.Дополнительные сведения см. в описании элемента <Property/>. |
|
<Property/> Этот элемент определяет атрибут Property, который можно использовать для присваивания значения любому элементу или атрибуту DGML, включая категории и другие свойства. Этот элемент в обязательном порядке включает следующие атрибуты.
Если необходимо, чтобы свойство отображалось в окне Свойства, задайте для свойства отображаемое имя с помощью атрибута Label. Смотреть Назначение свойств к узлам и ссылкам. |
|