Editar e personalizar gráficos de dependência
É possível editar gráficos de dependência sem afetar o código subjacente. Isso é útil quando você deseja enfocar itens-chave ou informar ideias sobre o código. Por exemplo, para realçar áreas interessantes, é possível selecionar nós e filtrá-los, alterar o estilo de nós e links, ocultar ou excluir nós e organizar nós usando-se propriedades, categorias ou grupos.
É possível personalizar ainda mais um gráfico editando-se o arquivo Directed Graph Markup Language (.dgml) do gráfico. Por exemplo, é possível editar elementos para especificar estilos personalizados, atribuir propriedades e categorias a nós e links ou vincular nós a itens como, por exemplo, documentos, URLs ou outros gráficos.
Dica
O Visual Studio limpa todos os elementos DGML não usados e os atributos excluindo-os o quando você salva o arquivo .dgml.Ele também cria elementos de nó automaticamente quando você adiciona novos links manualmente.Quando você salva o arquivo .dgml, todos os atributos adicionados a um elemento podem se reorganizar em ordem alfabética.Para obter mais informações sobre elementos DGML, consulte Noções básicas sobre DGML (Directed Graph Markup Language).
Requisitos
Visual Studio Ultimate, Visual Studio Premium ou Visual Studio Professional
Para criar gráficos de dependência, você deve ter o Visual Studio Ultimate. Consulte Mapear dependências em seu código nos gráficos de dependência.
Neste tópico
Selecionar nós ou links
Renomear nós ou links
Ocultar ou mostrar nós e links
Adicionar nós e links
Adicionar comentários ao gráfico
Excluir nós
Agrupar nós
Mesclar gráficos
Alterar o estilo do gráfico
Alterar o nó ou o estilo do link
Copiar estilos de um gráfico para outro gráfico
Atribuir propriedades a nós e links
Atribuir categorias a nós e links
Vincular itens a nós ou links
Criar aliases para os caminhos mais usados
Selecionar nós ou links
Para |
Realizar estas etapas |
---|---|
Selecionar todos os nós não selecionados |
Abra o menu de atalho para os nós selecionados. Escolha Selecionar, Inverter Seleção. |
Selecione nós adicionais vinculados aos selecionados |
Abra o menu de atalho para os nós selecionados. Escolha Selecionar e um dos seguintes:
|
Renomear nós ou links
Selecione o nó ou o link. Pressione F2. Quando a caixa de edição for exibida, renomeie o nó ou o link.
Se o rótulo estiver visível, selecione-o.
Ocultar ou mostrar nós e links
Ocultar nós os impede de participar de algoritmos de layout. Por padrão, links de grupo cruzado permanecem ocultos. Links de grupo cruzado são links individuais que conectam nós entre os grupos. Quando os grupos são recolhidos, o gráfico agrega todos os links de grupo cruzado em links únicos entre grupos. Quando você expande um grupo e seleciona nós dentro do grupo, os links de grupo cruzado são exibidos e mostram as dependências nesse grupo.
Aviso
Antes de compartilhar um gráfico criado no Visual Studio Ultimate com as pessoas que usam o Visual Studio Premium ou o Visual Studio Professional, não se esqueça de reexibir todos os nós ou links de grupo cruzado que você deseja que as outras pessoas vejam.Do contrário, os usuários não poderão reexibir esses itens.
Para ocultar ou mostrar nós
Para |
Realizar estas etapas |
---|---|
Ocultar nós selecionados |
|
Ocultar nós não selecionados |
|
Mostrar nós ocultos |
|
Ocultar nós editando-se o arquivo .dgml |
|
Para mostrar ou ocultar links
Para |
Na barra de ferramentas do gráfico, abra a lista Alterar o modo como os links são renderizados no gráfico ou abra o menu de atalho do gráfico. Escolha: |
---|---|
Mostrar links de grupo cruzado sempre |
Mostrar Todos os Links de Grupo Cruzado Isso oculta links agregados entre grupos. |
Mostrar apenas links de grupo cruzado para nós selecionados |
Mostrar Links de Grupo Cruzado em Nós Selecionados |
Ocultar links de grupo cruzado sempre |
Ocultar Links de Grupo Cruzado |
Ocultar todos os links (ou mostrar todos os links) |
Ocultar Todos os Links Para mostrar todos os links, escolha Ocultar Todos os Links novamente para desativar esse modo. |
Adicionar nós e links
Para adicionar um novo nó indefinido |
Realizar estas etapas |
---|---|
No local do ponteiro atual |
Selecione um local no gráfico onde colocar o novo nó. Pressione Inserir. |
Isso vincula ao nó selecionado |
|
Isso cria um vínculo com um nó existente com o foco atual |
Pressione Tab até o nó com o qual você deseja criar o vínculo receba o foco. Pressione Alt+ +ShiftInsert. |
Para adicionar nós de |
Realizar estas etapas |
---|---|
Itens na solução |
|
Itens relacionados a nós no gráfico |
Abra o menu de atalho do nó. Escolha Mostrar e o tipo de relação que lhe interessa. Para obter um assembly, escolha:
Para obter uma classe, escolha:
Para obter um método, escolha:
Para um campo, escolha:
|
Assemblies compilados do .NET (.dll ou .exe) ou binários |
Use Architecture Explorer para localizar e arrastar itens e relações para o gráfico. |
Para adicionar um link entre nós existentes
Selecione o nó de origem.
Uma barra de ferramentas começa a ser exibida acima do nó.
Na barra de ferramentas, escolha Criar novo link com base no nó para o nó em que você clica em seguida . Selecione o nó de destino.
Um link é exibido entre os dois nós.
Adicionar comentários ao gráfico
Selecione o nó onde você deseja adicionar um comentário vinculado.
Uma barra de ferramentas começa a ser exibida acima do nó.
Na barra de ferramentas, escolha Criar um novo nó de comentário com um novo link para o nó selecionado .
Digite os comentários. Para digitar uma nova linha, pressione SHIFT+Enter.
Excluir nós
É possível excluir nós de um gráfico sem afetar o código subjacente. Para excluir um nó, selecione o nó e, em seguida, pressione a tecla Delete. Quando você excluir nós, as definições serão removidas do arquivo DGML (.dgml).
Quando você excluir nós de um grupo, o botão Buscar Filhos Novamente será exibido dentro do grupo. Para recuperar nós ausentes, escolha Buscar Filhos Novamente . Os gráficos criados editando-se o DGML, adicionando-se nós indefinidos ou usando-se versões anteriores do Visual Studio Ultimate não dão suporte a esse recurso.
Aviso
Antes de compartilhar um gráfico criado usando-se o Visual Studio Ultimate com as pessoas que usam o Visual Studio Premium ou o Visual Studio Professional, verifique se todos os nós que você deseja que as outras pessoas vejam permanecem visíveis no gráfico.Do contrário, esses usuários não poderão recuperar os nós excluídos.
Agrupar nós
Para |
Realizar estas etapas |
---|---|
Mostrar nós do contêiner como nós de grupo ou de folha |
Para mostrar nós de contêiner como nós de folha, selecione os nós. Abra o menu de atalho da seleção. Escolha Grupo, Converter em Folha. Para mostrar nós de contêiner como nós de grupo, selecione os nós. Abra o menu de atalho da seleção. Escolha Grupo, Converter em Grupo. Para mostrar todos os nós de folha como nós de grupo, abra o menu de atalho do gráfico. Escolha Grupo, Ativar Agrupamento. Para mostrar todos os nós de grupo como nós de folha, abra o menu de atalho do gráfico. Escolha Grupo, Desativar Agrupamento. |
Adicionar um nó a um grupo |
Arraste o nó para o grupo. Também é possível arrastar nós para fora de um grupo. |
Adicionar um nó a um grupo que não seja de nós |
É possível converter qualquer nó em um grupo. Arraste o nó para o nó de destino. |
Agrupar nós selecionados |
|
Agrupar nós que tenham categorias ou propriedades específicas |
|
Agrupar nós de acordo com os valores de propriedade |
|
Remover grupos |
Selecione o grupo ou os grupos que você deseja remover. Abra o menu de atalho da seleção. Escolha Grupo, Remover Grupo. |
Remova nós do grupo pai até seu avô, ou fora de um grupo, se eles não tiverem nenhum grupo avô |
Selecione os nós que você deseja mover. Abra o menu de atalho da seleção. Escolha Grupo, Remover do Pai. |
Para agrupar nós editando-se o arquivo .dgml do gráfico
Para converter um nó em um grupo, abra o menu de atalho do nó. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico e realça o elemento <Node/> desse nó.
-ou-
Para adicionar um novo grupo:
Abrir o menu de atalho de uma área em branco do gráfico. Escolha Ir para, DGML.
Na seção <Nodes>, adicione um novo elemento <Node/>.
No elemento <Node/>, adicione um atributo Group para especificar se o grupo aparece expandido ou recolhido. Por exemplo:
<Nodes> <Node Id="MyFirstGroup" Group="Expanded" /> <Node Id="MySecondGroup" Group="Collapsed" /> </Nodes>
Na seção <Links>, verifique se há um elemento <Link/> com os seguintes atributos para cada relação entre um nó do grupo e seus nós filho:
Um atributo Source que especifica o nó do grupo
Um atributo Target que especifica o nó filho
Um atributo Category que especifica uma relação Contains entre o nó do grupo e seu nó filho
Por exemplo:
<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>
Para obter mais informações sobre o atributo Category, consulte Atribuir Categorias a Nós e Links.
Mesclar gráficos
É possível mesclar gráficos copiando e colando-se nós entre gráficos. Se os identificadores do nó forem correspondentes, a colagem dos nós funcionará como uma operação de mesclagem. Para facilitar essa tarefa, coloque todos os assemblies ou binários que você deseja visualizar na mesma pasta de forma que o caminho completo de cada assembly ou binário seja o mesmo de cada gráfico que você deseja mesclar.
Também é possível criar um único gráfico para os assemblies ou binários que você deseja visualizar seguindo-se uma destas etapas:
Arraste os assemblies ou os binários no mesmo gráfico.
-ou-
Abra o Architecture Explorer. Em Sistema de Arquivos, escolha Selecionar Arquivos para procurar, selecionar e abrir os assemblies ou os binários. Para refinar o gráfico, selecione os itens que você deseja visualizar. Quando terminar, escolha Criar um novo documento gráfico com base em todos os nós selecionados na barra de ferramentas do Architecture Explorer.
Alterar o estilo do gráfico
É possível alterar a cor do plano de fundo e a cor da borda do gráfico editando-se o arquivo .dgml do gráfico. Para alterar o estilo dos nós e dos links, consulte Alterar o Estilo de Nós e Links.
Abra o menu de atalho com base na superfície do gráfico. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico.
No elemento <DirectedGraph>, adicione todos os seguintes atributos para alterar o estilo:
Para alterar a
Adicionar o seguinte atributo
Cor do plano de fundo
Background="ColorNameOrHexadecimalValue"
Cor da borda
Stroke="StrokeValue"
Por exemplo:
<DirectedGraph Background="Green" xmlns="https://schemas.microsoft.com/vs/2009/dgml" > ... ... </DirectedGraph>
Alterar o estilo de nós e links
É possível alterar os ícones em nós e as cores de nós e links. É possível usar cores e ícones predefinidos ou especificar personalizados editando-se o arquivo .dgml do gráfico. Consulte Aplicar Estilos Personalizados a Nós e Links.
Por exemplo, é possível escolher uma cor para realçar nós e links que tenham uma determinada categoria ou propriedade. Isso permite identificar e enfocar áreas específicas do gráfico.
Para aplicar uma cor ou um ícone predefinido a nós com uma determinada categoria ou propriedade
Se a caixa Legenda não estiver visível, abra o menu de atalho do gráfico. Escolha Mostrar Legenda.
Na caixa Legenda, consulte se a categoria ou a propriedade do nó é exibida na lista.
Se a lista não incluir a categoria ou a propriedade, escolha + na caixa Legenda, Categoria do Nó ou Propriedade do Nó e a categoria ou a propriedade.
A categoria ou a propriedade agora é exibida na caixa Legenda.
Dica
Para criar e atribuir uma categoria a um nó, consulte Atribuir Categorias a Nós e Links.Para criar e atribuir uma propriedade a um nó, consulte Atribuir Propriedades a Nós e Links.
Na caixa Legenda, abra a lista suspensa próxima da categoria ou da propriedade.
Use a tabela a seguir para selecionar o estilo que você deseja alterar:
Para alterar a
Escolha
Cor do plano de fundo
Background
Cor do contorno
Traço
Cor do texto
Primeiro plano
Ícone
Ícones
A caixa Seletor do Conjunto de Cores é exibida para você selecionar uma cor (ou um ícone).
Na caixa de diálogo Seletor do Conjunto de Cores, execute um dos seguintes procedimentos:
Para aplicar um
Realizar estas etapas
Conjunto de cores (ou ícones
Abra a lista Selecionar cor (ou ícone) set. Selecione um conjunto de cores (ou ícones).
Para restaurar a cor padrão (ou o ícone), na lista Selecionar cor (ícone) conjunto, escolha Nenhum.
Cor específica (ou ícone)
Abra a categoria ou a lista de valores da propriedade. Selecione uma cor (ou ícone).
Dica
É possível reorganizar, excluir ou inativar temporariamente estilos na caixa Legenda.Consulte Modificar Caixa de Legenda.
Para aplicar uma cor predefinida a links com uma determinada categoria ou propriedade
Se a caixa Legenda não estiver visível, abra o menu de atalho do gráfico. Escolha Mostrar Legenda.
Na caixa Legenda, consulte se a categoria ou a propriedade é exibida na lista.
Se a lista não incluir a categoria ou a propriedade, escolha + na caixa Legenda, Categoria do Link ou Propriedade do Link e a categoria ou a propriedade.
A categoria ou a propriedade agora é exibida na caixa Legenda.
Dica
Para criar e atribuir uma categoria a um link, consulte Atribuir Categorias a Nós e Links.Para criar e atribuir uma propriedade a um link, consulte Atribuir Propriedades a Nós e Links.
Na caixa Legenda, abra a lista próxima da categoria ou da propriedade.
Selecione Traço para alterar o contorno do link e a cor da seta.
A caixa Seletor do Conjunto de Cores é exibida para você selecionar uma cor.
Na caixa Seletor do Conjunto de Cores, execute um dos seguintes procedimentos:
Para aplicar um
Realizar estas etapas
Conjunto de cores
Abra a lista Selecionar cor conjunto. Selecione um conjunto de cores.
Para restaurar a cor padrão, na lista Selecionar conjunto de cores, escolha Nenhum.
Cor específica
Abra o tipo ou a lista de valores da propriedade para selecionar uma cor.
Dica
É possível reorganizar, excluir ou inativar temporariamente estilos na caixa Legenda.Consulte Modificar Caixa de Legenda.
Aplicar Estilos Personalizados a Nós e Links
É possível aplicar estilos personalizados aos seguintes itens:
Nós e links únicos
Grupos de nós e links
Grupos de nós e de links com base em determinadas condições
Para aplicar um estilo personalizado a um único nó
Abra o menu de atalho do nó cujo estilo você deseja personalizar. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico e realça o elemento <Node/> desse nó.
No elemento <Node/>, adicione todos os seguintes atributos para personalizar o estilo:
Para alterar a
Adicionar o seguinte atributo
Cor do plano de fundo
Background="ColorNameOrHexadecimalValue"
Contorno
Stroke="ColorNameOrHexadecimalValue"
Espessura do contorno
StrokeThickness="StrokeValue"
Cor do texto
Foreground="ColorNameOrHexadecimalValue"
Ícone
Icon="IconFilePathLocation"
Tamanho do texto
FontSize="FontSizeValue"
Tipo de texto
FontFamily="FontFamilyName"
Peso do texto
FontWeight="FontWeightValue"
Estilo de texto
FontStyle="FontStyleName"
Por exemplo, é possível especificar Italic como o estilo do texto.
Textura
Style="Glass"
- ou -
Style="Plain"
Forma
Para substituir a forma por um ícone, defina a propriedade Shape como None e defina a propriedade Icon como o caminho com o arquivo do ícone.
Shape="ShapeFilePathLocation"
Por exemplo:
<Nodes> <Node Id="MyNode" Background="#FF008000" Stroke="#FF000000" Foreground="#FFFFFFFF" Icon="...\Icons\Globe.png"/> </Nodes>
Para aplicar um estilo personalizado a um único link
No gráfico, mova o ponteiro sobre o link. Uma dica de ferramenta é exibida e identifica o nó de origem e o nó de destino do link. (Teclado: pressione Tabulação até que o foco esteja no link.)
Abra o menu de atalho do gráfico. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico.
Localize o elemento <Link/> que contém os nomes dos nós de origem e de destino.
No elemento <Link/>, adicione todos os seguintes atributos para personalizar o estilo:
Para alterar a
Adicionar o seguinte atributo
Contorno e cor da seta
Stroke="ColorNameOrHexadecimalValue"
Espessura do contorno
StrokeThickness="StrokeValue"
Estilo do contorno
StrokeDashArray="StrokeArrayValues"
Por exemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Background="Green" Stroke="#FF000000" StrokeDashArray="2,2"/> </Links>
Para aplicar estilos personalizados a um grupo de nós ou de links
Atribua todas as categorias ou propriedades desejadas a nós ou links.
Dica
Caso tenha estilos repetidos em vários nós ou links, você talvez leve em consideração a aplicação de uma categoria a esses nós ou links e, em seguida, a aplicação de um estilo a essa categoria.Para obter mais informações, consulte Atribuir Categorias a Nós e Links e Atribuir Propriedades a Nós e Links.
Abra o menu de atalho da superfície do gráfico. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico.
Se um elemento <Styles></Styles> não existir, adicione um no elemento <DirectedGraph></DirectedGraph> depois do elemento <Links></Links>.
No elemento <Styles></Styles>, no elemento <Style/> e especifique os seguintes atributos:
TargetType="Node | Link | Graph"
GroupLabel="NameInLegendBox"
ValueLabel="NameInStylePickerBox"
Para aplicar um estilo personalizado a todos os tipos de destino, não use uma condição.
Para aplicar um estilo condicional a grupos de nós ou links
No elemento <Style/>, adicione um elemento <Condition/> que contém um atributo Expression para especificar uma expressão que retorna um valor Booliano.
Por exemplo:
<Condition Expression="MyCategory"/>
- ou -
<Condition Expression="MyCategory > 100"/>
- ou -
<Condition Expression="HasCategory('MyCategory')"/>
Essa expressão usa a seguinte sintaxe 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> ::= literal de cadeia de caracteres único ou duplo
<Number> ::= cadeia de caracteres de dígitos com vírgula decimal opcional
É possível especificar vários elementos <Condition/> , que devem ser verdadeiros para aplicar o estilo.
Na próxima linha depois do elemento <Condition/>, adicione um ou vários elementos <Setter/> para especificar um atributo Property e um atributo Value fixo ou atributo Expression calculado para aplicar ao gráfico, aos nós ou aos links que atendam à condição.
Por exemplo:
<Setter Property="BackGround" Value="Green"/>
Como um exemplo completo simples, a seguinte condição especifica que um nó é exibido em verde ou vermelho com base na possibilidade da categoria Passed estar definida como True ou 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>
A seguinte tabela inclui algumas condições de exemplo que é possível usar:
Modificar a caixa Legenda
É possível reorganizar, excluir ou inativar temporariamente estilos na caixa Legenda:
Abra o menu de atalho de um estilo na caixa Legenda.
Realize uma das seguintes tarefas:
Para
Escolha
Mover o estilo para cima
Mover Para Cima
Mover o item para baixo
Mover Para Baixo
Excluir o item
Excluir
Inativar o item
Desabilitar
Reativar o item
Habilitar
Copiar estilos de um gráfico para outro gráfico
Verifique se a caixa Legenda é exibida no gráfico de origem. Se ela não estiver visível, abra o menu de atalho de uma área em branco do gráfico de origem. Escolha Mostrar Legenda.
Abra o menu de atalho da caixa Legenda. Escolha Copiar Legenda.
Cole a legenda no gráfico de destino.
Atribuir propriedades a nós e links
É possível organizar nós e links atribuindo-se propriedades a eles. Por exemplo, é possível selecionar nós que tenham propriedades específicas de forma que você possa as agrupar, alterar o estilo ou ocultá-los.
Para atribuir uma propriedade a um nó
Abra o menu de atalho do nó. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico e realça o elemento <Node/> desse nó.
No elemento <Node/>, especifique o nome da propriedade e seu valor. Por exemplo:
<Nodes> <Node Id="MyNode" MyPropertyName="PropertyValue" /> </Nodes>
Adicione um elemento <Property/> à seção <Properties> para especificar atributos como seu nome e tipo de dados visíveis:
<Properties> <Property Id="MyPropertyName" Label="My Property" DataType="System.DataType"/> </Properties>
Para atribuir uma propriedade a um link
No gráfico, mova o ponteiro sobre o link. Uma dica de ferramenta é exibida e identifica o nó de origem e o nó de destino do link. (Teclado: pressione Tab até que o foco esteja no link.)
Abra o menu de atalho do gráfico. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico.
Localize o elemento <Link/> que contém os nomes dos nós de origem e de destino.
No elemento <Node/>, especifique o nome da propriedade e seu valor. Por exemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" MyPropertyName="PropertyValue" /> </Links>
Adicione um elemento <Property/> à seção <Properties> para especificar atributos como seu nome e tipo de dados visíveis:
<Properties> <Property Id="MyPropertyName" Label="My Property Name" DataType="System.DataType"/> </Properties>
Atribuir categorias a nós e links
É possível organizar nós atribuindo-se categorias a eles. Por exemplo, é possível selecionar nós que estejam em determinadas categorias de forma que você possa as agrupar, alterar o estilo ou ocultá-los. É possível realçar links que tenham determinadas categorias. Para obter mais informações, consulte as seguintes seções:
Agrupar nós
Alterar o estilo de nós e links
Ocultar ou mostrar nós
Para atribuir uma categoria a um nó
- Para atribuir a uma categoria predefinida, como Categoria 1, abra o menu de atalho do nó. Escolha Categorizar e uma categoria predefinida.
- ou -
Para criar e atribuir uma categoria personalizada:
- Escolha o nó que você deseja categorizar. Pressione F4 para abrir a janela Propriedades. Digite o nome da categoria na propriedade Nova Categoria do nó. Pressione ENTER.
- ou -
Abra o menu de atalho do nó. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico e realça o elemento <Node/> desse nó.
No elemento <Node/>, adicione um atributo Category para especificar o nome da categoria. Por exemplo:
<Nodes> <Node Id="MyNode" Category="MyCategory" /> </Nodes>
Adicione um elemento <Category/> à seção <Categories> de forma que seja possível usar o atributo Label para especificar o texto de exibição dessa categoria:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
Para atribuir uma categoria a um link
No gráfico, mova o ponteiro do mouse sobre o link para mostrar a dica de ferramenta e identificar o nó de origem e o nó de destino do link. (Teclado: pressione Tab até que o foco esteja no link.)
Abra o menu de atalho do gráfico. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico.
Localize o elemento <Link/> que contém os nomes dos nós de origem e de destino.
No elemento <Link/>, adicione um atributo Category para especificar o nome da categoria. Por exemplo:
<Links> <Link Source="MyFirstNode" Target="MySecondNode" Category="MyCategory" </Links>
Adicione um elemento <Category/> à seção <Categories> de forma que seja possível usar o atributo Label para especificar o texto de exibição dessa categoria:
<Categories> <Category Id="MyCategory" Label="My Category" /> </Categories>
É possível criar categorias hierárquicas para ajudar a organizar nós e adicionar atributos a categorias filho usando-se a herança.
Para criar categorias hierárquicas
Adicione um elemento <Category/> da categoria pai e o atributo BasedOn ao elemento <Category/> da categoria filho.
Por exemplo:
<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>
Neste exemplo, o plano de fundo de MyFirstNode é verde porque seu atributo Category herda o atributo Background de MyParentCategory.
Vincular itens a nós ou links
É possível vincular itens como, por exemplo, documentos ou URLs, a um nó ou a um link editando-se o arquivo .dgml do gráfico e adicionando-se um atributo Reference ao elemento <Node/> de um nó ou do elemento <Link/> para um link. Em seguida, é possível abrir e exibir o conteúdo do nó ou do link. O atributo Reference especifica o caminho desse conteúdo. Ele pode ser um caminho relativo ao local do arquivo .dgml ou um caminho absoluto.
Aviso
Se você usar caminhos relativos e o arquivo .dgml for movido para um local diferente, esses caminhos não serão mais resolvidos.Quando você tentar abrir e exibir o conteúdo vinculado, um erro indicando que o conteúdo não pode ser exibido será exibido.
Por exemplo, você talvez queira vincular os seguintes itens:
Para descrever as alterações feitas em uma classe, você talvez queira vincular a URL de um item de trabalho, do documento ou de outro arquivo .dgml ao nó de uma classe.
Você talvez queira vincular um diagrama da camada a um nó do grupo que representa uma camada na arquitetura lógica do software.
Para mostrar mais informações sobre um componente que expõe a interface, você talvez queira vincular um diagrama de componente ao nó dessa interface.
Vincule um nó a um item de trabalho ou a um bug do Team Foundation Server, ou qualquer outra informação relacionada ao nó.
Para vincular um item a um nó
No gráfico, abra o menu de atalho do nó. Escolha Ir para, DGML.
O Visual Studio abre o arquivo .dgml do gráfico e realça o elemento <Node/> desse nó.
Realize uma das tarefas na tabela a seguir:
Para vincular
Realizar estas etapas
Um único item
No elemento <Node/> ou <Link/>, adicione um atributo Reference para especificar o local do item.
Dica
Só é possível ter um atributo Reference por elemento.
Por exemplo:
<Nodes> <Node Id="MyNode" Reference="MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Vários itens
No elemento <Node/> ou <Link/>, adicione um novo atributo para especificar o local de cada referência.
Na seção <Properties>:
Adicione um elemento <Property/> para cada novo tipo de referência.
Defina o atributo Id como o nome do novo atributo de referência.
Adicione o atributo IsReference e defina-o como True para fazer a referência ser exibida no menu de atalho Goto do item.
Use o atributo Label para especificar o texto de exibição no menu de atalho Goto do item.
Por exemplo:
<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>
Use o atributo ReferenceTemplate para especificar uma cadeia de caracteres comum, por exemplo, uma URL, usada por várias referências em vez de repetir a cadeia de caracteres na referência.
O atributo ReferenceTemplate especifica um espaço reservado para o valor da referência. No seguinte exemplo, o espaço reservado {0} no atributo ReferenceTemplate será substituído pelos valores dos atributos MyFirstReference e MySecondReference no elemento <Node/> para produzir um caminho completo:
<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>
Para exibir o item ou os itens referenciados do gráfico, abra o menu de atalho do nó ou do link. Escolha Goto e o item.
Criar aliases para os caminhos mais usados
A substituição dos caminhos mais usados por aliases ajuda a reduzir o tamanho do arquivo .dgml e o tempo necessário para carregar ou salvar o arquivo. Para criar um alias, adicione uma seção <Paths></Paths> ao final do arquivo .dgml. Nesta seção, adicione um elemento <Path/> para definir um alias para o caminho:
<Paths> <Path Id="MyPathAlias" Value="C:\...\..." /> </Paths>
Para fazer referência ao alias de um elemento no arquivo .dgml, inclua o valor Id do elemento <Path/> com um cifrão ($) e parênteses (()):
<Nodes> <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" /> </Nodes> <Properties> <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" /> </Properties>
Noções básicas sobre DGML (Directed Graph Markup Language)
DGML usa XML simples para descrever gráficos cíclicos e direcionados acíclicos. Um gráfico direcionado é um conjunto de nós conectados por links ou bordas. Nós e links podem ser usados representam estruturas de rede como, por exemplo, elementos em um projeto de software. Use DGML para visualizar informações, realizar a análise de complexidade ou apenas procurar e editar gráficos direcionados.
Nós e links são chamados de elementos do gráfico, ou apenas elementos. A seguinte tabela descreve os tipos de elementos usados em DGML:
Dica
Quando você edita um arquivo .dgml, o IntelliSense ajuda você a identificar atributos disponíveis para cada elemento e seus valores.Para especificar a cor em um atributo, use nomes de cores comuns como, por exemplo, "Azul", ou valores hexadecimais ARGB, como "#ffa0b1c3".DGML usa um subconjunto pequeno de formatos de definição de cor do WPF (Windows Presentation Foundation).Para obter mais informações, consulte Classe de Cores.
Elemento
Formato de Exemplo
<DirectedGraph></DirectedGraph>
Esse elemento é o elemento raiz do documento de gráfico direcionado (.dgml). Todos os outros elementos de DGML são exibidos no escopo desse elemento.
A seguinte lista descreve atributos opcionais que é possível incluir:
Background - A cor do plano de fundo do gráfico
BackgroundImage - O local de um arquivo de imagem a ser usada como o plano de fundo do gráfico.
GraphDirection - Quando o gráfico for definido como o layout da árvore (Sugiyama), organize os nós de forma que a maioria dos links estejam na direção especificada: TopToBottom, BottomToTop, LeftToRight, ou RightToLeft. Consulte Procurar e reorganizar gráficos de dependência.
Layout - Defina o gráfico como os seguintes layouts: None, Sugiyama (layout da árvore), ForceDirected (clusters rápidos) ou DependencyMatrix. Consulte Procurar e reorganizar gráficos de dependência.
NeighborhoodDistance - Quando o gráfico for definido como o layout da árvore ou o layout de clusters rápidos, mostre apenas os nós que sejam números especificados (1-7) de links afastados de nós selecionados. Consulte Procurar e reorganizar gráficos de dependência.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" Background="Blue" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> ... </Nodes> <Links> ... </Links> <Categories> ... </Categories> <Properties> ... </Properties> </DirectedGraph>
<Nodes></Nodes>
Esse elemento opcional contém uma lista de elementos <Node/>, que definem nós no gráfico. Para obter mais informações, consulte o elemento <Node/>.
Dica
Ao fazer referência a um nó indefinido em um elemento <Link/>, o gráfico cria um elemento <Node/> automaticamente.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node ... /> </Nodes> <Links> <Link ... /> </Links> </DirectedGraph>
<Node/>
Esse elemento define um único nó. Ele é exibido na lista de elementos <Nodes><Nodes/>.
Esse elemento deve incluir os seguintes atributos:
Id - O nome exclusivo do nó e o valor padrão do atributo Label, caso nenhum atributo Label separado seja especificado. Esse nome deve corresponder ao atributo Source ou Target do link que faz referência a ele.
A seguinte lista descreve alguns dos atributos opcionais que é possível incluir:
Label - O nome para exibição do nó
Atributos de estilo. Consulte Aplicar Estilos Personalizados a Nós e Links.
Category - O nome de uma categoria que identifica os elementos que compartilham esse atributo. Para obter mais informações, consulte o elemento <Category/>.
Property - O nome de uma propriedade que identifica elementos que têm o mesmo valor da propriedade. Para obter mais informações, consulte o elemento <Property/>.
Group - Se o nó contiver outros nós, defina esse atributo como Expanded ou Collapsed para mostrar ou ocultar seu conteúdo. Deve haver um elemento <Link/> que inclua o atributo Category="Contains" e especifique o nó pai como o nó de origem e o nó filho como o nó de destino. Consulte Organizar Nós em Grupos.
Visibility - Defina esse atributo como Visible, Hidden ou Collapsed. Usa System.Windows.Visibility. Consulte Ocultar ou Mostrar Nós.
Reference - Defina esse atributo para vincular a um documento ou a uma URL. Consulte Vincular Itens a Nós.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Student" Category="Person" /> <Node Id="Passenger" Label="Instructor" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> </Nodes> <Links> <Link ... /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> </Categories> </DirectedGraph>
<Links></Links>
Esse elemento contém a lista de elementos <Link>, que definem links entre nós. Para obter mais informações, consulte o elemento <Link/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Links> <Link ... /> </Links> </DirectedGraph>
<Link/>
Esse elemento define um único link que conecta um nó de origem a um nó de destino. Ele é exibido na lista de elementos <Links></Links>.
Dica
Se esse elemento fizer referência a um nó indefinido, o documento gráfico criará automaticamente um nó com os atributos especificados, se houver.
Esse elemento deve incluir os seguintes atributos:
Source - O nó de origem do link
Target - O nó de destino do link
A seguinte lista descreve alguns dos atributos opcionais que é possível incluir:
Label - O nome para exibição do link
Atributos de estilo. Consulte Aplicar Estilos Personalizados a Nós e Links.
Category - O nome de uma categoria que identifica os elementos que compartilham esse atributo. Para obter mais informações, consulte o elemento <Category/>.
Property - O nome de uma propriedade que identifica elementos que têm o mesmo valor da propriedade. Para obter mais informações, consulte o elemento <Property/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Student" Category="Person" /> <Node Id="Passenger" Label="Instructor" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> </Nodes> <Links> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Link Source="Driver" Target="Car" Label="Passed" Stroke="Black" Background="Green" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Stroke="Black" Background="Red" Category="PassedTest" /> </Links> </DirectedGraph>
<Categories></Categories>
Esse elemento contém a lista de elementos <Category/>. Para obter mais informações, consulte o elemento <Category/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Categories> <Category ... /> </Categories> </DirectedGraph>
<Category/>
Esse elemento define um atributo Category, que é usado para identificar os elementos que compartilham esse atributo. Um atributo Category pode ser usado para organizar elementos gráficos, fornecer atributos compartilhados por meio da herança ou definir metadados adicionais.
Esse elemento deve incluir os seguintes atributos:
Id - O nome exclusivo da categoria e o valor padrão do atributo Label, caso nenhum atributo Label separado seja especificado.
A seguinte lista descreve alguns dos atributos opcionais que é possível incluir:
Label - Um nome amigável para o leitor da categoria.
BasedOn - A categoria pai da qual <Category/> herda o elemento atual.
No exemplo desse elemento, a categoria FailedTest herda seu atributo Stroke da categoria PassedTest. Consulte "Para criar categorias hierárquicas" em Atribuir Categorias a Nós e Links.
As categorias também fornecem um comportamento básico de modelo que controla a aparência de nós e links quando exibidos em um gráfico. Consulte Aplicar Estilos Personalizados a Nós e Links.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Driver" Category="Person" /> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> <Node Id="Passenger" Category="Person" /> </Nodes> <Links> <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" /> <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" /> </Categories> </DirectedGraph>
<Properties></Properties>
Esse elemento contém a lista de elementos <Property/>. Para obter mais informações, consulte o elemento <Property/>.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Properties> <Property ... /> </Properties> </DirectedGraph>
<Property/>
Esse elemento define um atributo Property que é possível usar para atribuir um valor a qualquer elemento ou atributo DGML, inclusive categorias e outras propriedades.
Esse elemento deve incluir os seguintes atributos:
Id - O nome exclusivo da propriedade e o valor padrão do atributo Label, caso nenhum atributo Label separado seja especificado.
DataType - O tipo de dados armazenado pela propriedade
Se você quiser que a propriedade seja exibida na janela Propriedades, use a propriedade Label para especificar o nome para exibição da propriedade.
Consulte Atribuir Propriedades a Nós e Links.
<?xml version="1.0" encoding="utf-8"?> <DirectedGraph Title="DrivingTest" xmlns="https://schemas.microsoft.com/vs/2009/dgml"> <Nodes> <Node Id="Driver" Label="Driver" Category="Person" DrivingAge="18"/> <Node Id="Car" Label="Car" Category="Automobile" /> <Node Id="Truck" Label="Truck" Category="Automobile" /> <Node Id="Passenger" Category="Person" /> </Nodes> <Links> <Link Source="Driver" Target="Car" Label="Passed" Category="PassedTest" /> <Link Source="Driver" Target="Truck" Label="Failed" Category="FailedTest" /> </Links> <Categories> <Category Id="Person" Background="Orange" /> <Category Id="Automobile" Background="Yellow"/> <Category Id="PassedTest" Label="Passed" Stroke="Black" Background="Green" /> <Category Id="FailedTest" Label="Failed" BasedOn="PassedTest" Background="Red" /> </Categories> <Properties> <Property Id="DrivingAge" Label="Driving Age" DataType="System.Int32" /> </Properties> </DirectedGraph>
Consulte também
Conceitos
Mapear dependências em seu código nos gráficos de dependência