O que é Class Designer?
Com a ferramenta Designer de Classe no Visual Studio, você pode projetar, visualizar e refatorar diagramas de classe em projetos C#, Visual Basic ou C++. Os diagramas de classe mostram os elementos de código e suas relações em uma superfície de design visual, o que pode ajudá-lo a entender melhor a estrutura do projeto e reorganizar seu código.
Observação
O Designer de Classe não está disponível em projetos .NET Core e .NET 5 e posteriores.
Sobre os diagramas de classe
Veja o que você pode fazer com diagramas de classe, em mais detalhes:
Design: edite o código do projeto editando o diagrama de classe. Adicione novos elementos e exclua os indesejados. Suas alterações são refletidas no código.
Visualizar: entenda a estrutura do projeto exibindo as classes em seu projeto em um diagrama. Personalize seu diagrama para que você possa se concentrar nos detalhes do projeto que você mais se importa. Salve seu diagrama para usar posteriormente para demonstração ou documentação.
Refatorar: substitua métodos, renomeie identificadores, refatore parâmetros e implemente interfaces e classes abstratas.
Exibir tipos e relações
Os diagramas de classe mostram os detalhes dos tipos, por exemplo, seus membros constituintes e as relações entre eles. A visualização dessas entidades é uma exibição dinâmica no código. Isso significa que você pode editar tipos no designer e, em seguida, ver suas edições refletidas no código-fonte da entidade. Da mesma forma, o diagrama de classe é mantido em sincronia com as alterações feitas nos arquivos de código.
Observação
Se o projeto contiver um diagrama de classe e seu projeto fizer referência a um tipo localizado em outro projeto, o diagrama de classe não mostrará o tipo referenciado até que você crie o projeto para esse tipo. Da mesma forma, o diagrama não exibe alterações no código da entidade externa até que você recompile o projeto para essa entidade.
Fluxo de trabalho do diagrama de classe
Diagramas de classe podem ajudá-lo a entender a estrutura de classes de projetos. Esses projetos podem ter sido criados por outros desenvolvedores ou você precisa apenas de um atualizador em um projeto que você mesmo criou. Você pode usar diagramas de classe para personalizar, compartilhar e apresentar informações do projeto com outras pessoas.
A primeira etapa na apresentação de informações do projeto é criar um diagrama de classe que exiba o que você deseja mostrar. Para obter mais informações, consulte Adicionar um diagrama de classe. Você pode criar vários diagramas de classe para um projeto que pode ser usado para exibir uma exibição distinta do projeto, um subconjunto escolhido dos tipos do projeto ou um subconjunto escolhido dos membros dos tipos.
Além de definir o que cada diagrama de classe mostra, você também pode alterar a maneira como as informações são apresentadas; para obter mais informações, consulte Personalizar diagramas de classe.
Depois de ajustar um ou mais diagramas de classe, você poderá copiá-los em documentos do Microsoft Office e imprimi-los ou exportá-los como arquivos de imagem. Para obter mais informações, consulte Copiar elementos de diagrama de classe para um documento do Microsoft Office, Imprimir diagramas de classe e Exportar diagramas de classe como imagens.
Observação
O Designer de Classe não controla o local dos arquivos de origem, portanto, alterar a estrutura do projeto ou mover arquivos de origem no projeto pode fazer com que o Designer de Classe perca o controle do tipo, especialmente o tipo de origem de um typedef, classes base ou tipos de associação. Você pode receber um erro, como O Designer de Classe não pode exibir esse tipo. Se você fizer isso, arraste o código-fonte modificado ou realocado para o diagrama de classe novamente para reexibi-lo.
Adicionar diagramas de classe a projetos
Para projetar, editar e refatorar classes e outros tipos, adicione um diagrama de classe ao seu projeto C#, Visual Basic ou C++. Para visualizar diferentes partes do código em um projeto, adicione vários diagramas de classe ao projeto.
Você não pode criar diagramas de classe de projetos que compartilham código em vários aplicativos. Para criar diagramas de classe UML, consulte Criar projetos e diagramas de modelagem UML.
Instalar o componente do Designer de Classe
Se você ainda não instalou o componente do Designer de Classe, siga estas etapas para instalá-lo.
Abra o Instalador do Visual Studio no menu Iniciar do Windows ou selecionando Ferramentas>Obter Ferramentas e Recursos na barra de menus do Visual Studio.
O Visual Studio Installer será aberto.
Se você já tiver o Visual Studio instalado, clique no botão Modificar das opções.
Selecione a guia Componentes individuais e, em seguida, role para baixo até a categoria Ferramentas de código.
Selecione Designer de Classe e, em seguida, selecione Modificar.
O componente do Designer de Classe inicia a instalação.
Adicionar um diagrama de classe em branco a um projeto
No Gerenciador de Soluções, clique com o botão direito do mouse no nó do projeto e escolha Adicionar>Novo Item. Ou pressione Ctrl+Shift+A. Se uma janela pequena aparecer apenas com a opção de adicionar um arquivo de código, escolha o botão Mostrar Todos os Modelos.
A caixa de diálogo Adicionar Novo Item é aberta.
Expanda Geral e selecione Diagrama de Classe na lista de modelos. Para projetos do Visual C++, examine a categoria Utilitário para localizar o modelo Diagrama de Classe.
Observação
Se você não encontrar o modelo de Diagrama de Classe , siga as etapas para instalar o componente Designer de Classe para o Visual Studio. Conforme indicado anteriormente neste artigo, o Designer de Classe não está disponível para .NET Core e .NET 5 e posteriores.
O diagrama de classe é aberto no Designer de Classe e aparece como um arquivo que tem uma extensão de .cd no Gerenciador de Soluções. Você pode arrastar formas e linhas para o diagrama da caixa de ferramentas ou arrastar um nó de projeto do Gerenciador de Soluções para adicionar as classes desse projeto.
Para adicionar vários diagramas de classe, repita as etapas neste procedimento.
Para exibir o conteúdo de um projeto completo em um diagrama de classe
Abra um diagrama de classe em branco e arraste o nó do projeto do Gerenciador de Soluções para a superfície do diagrama de classe. Um diagrama de classe populado automaticamente é criado.
Importante
O Designer de Classe não está disponível em projetos do .NET Core.
Personalizar diagramas de classe
Você pode alterar a maneira como os diagramas de classe exibem informações. Você pode personalizar todo o diagrama ou os tipos individuais na superfície de design.
Por exemplo, você pode ajustar o nível de zoom de um diagrama de classe inteiro, alterar como os membros individuais de tipo são agrupados e classificados, ocultar ou mostrar relações e mover tipos individuais ou conjuntos de tipos para qualquer parte do diagrama.
Observação
Personalizar a maneira como as formas aparecem no diagrama não altera o código subjacente para os tipos representados no diagrama.
As seções que contêm membros do tipo, como a seção Propriedades em uma classe, são chamadas de compartimentos. Você pode ocultar ou mostrar compartimentos individuais e membros de tipo.
Ampliar e diminuir o diagrama de classe
Abra e selecione um arquivo de diagrama de classe no Designer de Classe .
Na barra de ferramentas do Designer de Classe, clique no botão Ampliar ou Reduzir para alterar o nível de zoom da superfície do designer.
ou
Especifique um valor de zoom específico. É possível usar a lista suspensa Aplicar Zoom ou digitar um nível de zoom válido (o intervalo válido é entre 10% e 400%).
Observação
Alterar o nível de zoom não afeta a escala da impressão do diagrama de classe.
Personalizar o agrupamento e a classificação de membros do tipo
Abra e selecione um arquivo de diagrama de classe no Designer de Classe.
Clique com o botão direito do mouse em uma área vazia na superfície de design e aponte para Membros do Grupo.
Selecione uma das opções disponíveis:
Grupo por Tipo separa membros de tipo individuais em uma lista agrupada de Propriedades, Métodos, Eventos e Campos. Os grupos individuais dependem da definição de entidades: por exemplo, uma classe não exibirá nenhum grupo de eventos se ainda não houver eventos definidos para essa classe.
Agrupar por Acesso separa membros de tipo individuais em uma lista agrupada com base nos modificadores de acesso do membro. Por exemplo, Público ou Privado.
Classificar em ordem alfabética exibe os itens que compõem uma entidade como uma única lista em ordem alfabética. A lista é classificada em ordem crescente.
Ocultar compartimentos em um tipo
Abra e selecione um arquivo de diagrama de classe no Designer de Classe.
Clique com o botão direito do mouse na categoria do membro no tipo que você deseja personalizar (por exemplo, selecione o nó Métodos em uma classe).
Clique em Ocultar Compartimento.
O compartimento selecionado desaparece do contêiner de tipo.
Ocultar membros individuais em um tipo
Abra e selecione um arquivo de diagrama de classe no Designer de Classe .
Clique com o botão direito do mouse no membro no tipo que você deseja ocultar.
Clique em Ocultar.
O membro selecionado desaparece do contêiner de tipo.
Mostrar compartimentos e membros ocultos em um tipo
Abra e selecione um arquivo de diagrama de classe no Designer de Classe .
Clique com o botão direito do mouse sobre o nome do tipo que possui o compartimento oculto.
Clique em Mostrar Todos os Membros.
Todos os membros e compartimentos ocultos aparecem no contêiner de tipo.
Ocultar relações
Abra e selecione um arquivo de diagrama de classe no Designer de Classe do .
Clique com o botão direito do mouse na linha de associação ou herança que você deseja ocultar.
Clique em Ocultar para linhas de associação e em Ocultar Linha de Herança para linhas de herança.
Clique em Mostrar Todos os Membros.
Todos os membros e compartimentos ocultos aparecem no contêiner de tipo.
Mostrar relações ocultas
Abra e selecione um arquivo de diagrama de classe no Designer de Classe .
Clique com o botão direito do mouse no tipo com a associação ou a herança oculta.
Clique em Mostrar Todos os Membros para linhas de associação e clique em Mostrar Classe Base ou Mostrar Classes Derivadas para linhas de herança.
Remover uma forma de um diagrama de classe
Você pode remover uma forma de tipo do diagrama de classe sem afetar o código subjacente do tipo. Remover formas de tipo de um diagrama de classe afeta apenas esse diagrama: o código subjacente que define o tipo e outros diagramas que exibem o tipo não são afetados.
No diagrama de classe, selecione a forma de tipo que você deseja remover do diagrama.
No menu Editar, escolha Remover do Diagrama.
A forma de tipo e todas as linhas de associação ou herança conectadas à forma não aparecem mais no diagrama.
Excluir uma forma de tipo e seu código subjacente
Clique com o botão direito do mouse na forma, na superfície de design.
Selecione Excluir Código no menu de contexto.
A forma é removida do diagrama e seu código subjacente é excluído do projeto.
Copiar elementos de diagrama de classe para um documento do Microsoft Office
Você pode copiar formas de um diagrama de classe .NET (arquivo .cd) para outros documentos. Você obterá uma cópia da forma ou seu código subjacente, com base no tipo de documento em que você a cola. Para copiar formas de diagramas de classes UML em um projeto de modelagem, confira Exportar diagramas como imagens.
Copiar um único elemento
Clique com o botão direito do mouse na forma e escolha Copiar Imagem.
Copiar vários elementos
Selecione as formas no diagrama que você deseja copiar.
Clique com o botão direito do mouse na seleção e escolha Copiar Imagem.
Copiar todos os elementos em um diagrama de classe
Clique com o botão direito do mouse na superfície do diagrama e escolha Selecionar Todos osou pressione Ctrl+A.
No menu Editar, selecione Copiar Imagem.
Você também pode escolher Copiar em vez de Copiar Imagem. Copiar copia a imagem como um bitmap regular. Copiar Imagem copia a imagem como uma imagem baseada em vetor, o que é melhor para a maioria dos aplicativos do Office.
Exportar diagramas de classe como imagens
Para exportar um diagrama de classe que você criou a partir do código em um projeto, salve o diagrama como uma imagem. Se você quiser exportar diagramas de classe UML em vez disso, consulte Exportar diagramas como imagens.
Exportar um diagrama
Abra o diagrama de classe ( arquivo.cd).
No menu Diagrama de Classe ou no menu de atalho da superfície do diagrama, escolha Exportar Diagrama como Imagem.
Selecione um diagrama.
Selecione o formato desejado.
Escolha Exportar para concluir a exportação.
Para atualizar automaticamente as imagens exportadas vinculadas de outros documentos, exporte o diagrama novamente no Visual Studio.
Imprimir diagramas de classe
Você pode imprimir um diagrama de classe usando o recurso de impressão do Visual Studio.
Para imprimir um diagrama de classe
Abra o diagrama de classe.
Clique em Imprimir no menu Arquivo.
O diagrama de classe inteiro é impresso. Talvez seja necessário ajustar as configurações na caixa de diálogo Configuração de Página para imprimir em um tamanho apropriado.
Adicionar comentários a diagramas de classe
Você pode usar formas de comentário para anotar diagramas de classe. Uma forma de comentário tem uma propriedade, Text, na qual você pode digitar texto. As formas de comentário existem apenas na superfície do diagrama e não no código.
Um comentário reside na exibição de diagrama de classe no Designer de Classe. Se você abrir um diagrama de segunda classe no mesmo projeto, os comentários criados na primeira exibição não ficarão visíveis. Se você excluir um diagrama, todos os comentários contidos também serão excluídos.
Você pode redimensionar uma forma de comentário, mas não pode alterar outros aspectos de sua aparência, como sua cor de plano de fundo, fonte ou tamanho da fonte.
Para adicionar um comentário
Arraste um comentário da Caixa de Ferramentas do Designer de Classe para o diagrama de classe.
Clique na nova forma de comentário no diagrama e digite o texto desejado.
Usar os atalhos de mouse e teclado na janela Diagrama de Classe e Detalhes da Classe
Você pode usar o teclado além do mouse (ou outro dispositivo apontador) para executar ações de navegação em Designer de Classe e na janela Detalhes da Classe.
Usar o mouse no Designer de Classe
As seguintes ações do mouse têm suporte em diagramas de classe:
Combinação do mouse | Contexto | Descrição |
---|---|---|
Clique duas vezes | Elementos de forma | Abre o editor de código. |
Clique duas vezes | Conector de pirulito | Expande/recolhe o pirulito. |
Clique duas vezes | Rótulo do conector de pirulito | Invoca o comando Mostrar Interface. |
Roda do mouse | Diagrama de classe | Deslize verticalmente. |
Shift + botão de rolagem do mouse | Diagrama de classe | Rolar horizontalmente. |
Ctrl + Roda do Mouse | Diagrama de classe | Zoom. |
Ctrl+Shift + clique | Diagrama de classe | Zoom. |
Usar o mouse na janela Detalhes da Classe
Usando um mouse, você pode alterar a aparência da janela Detalhes da Classe e os dados exibidos das seguintes maneiras:
Clicar em qualquer célula editável permite editar o conteúdo dessa célula. Suas alterações são refletidas em todos os locais em que os dados são armazenados ou exibidos, incluindo na janela Propriedades e no código-fonte.
Clicar em qualquer célula de uma linha faz com que a janela de propriedades exiba as propriedades do elemento que essa linha representa.
Para alterar a largura de uma coluna, arraste o limite do lado direito do título de coluna até que a coluna tenha a largura desejada.
É possível expandir ou recolher nós de propriedade ou compartimento clicando nos símbolos de direção à esquerda da linha.
A janela Detalhes da Classe oferece vários botões para a criação de novos membros na classe atual e para navegar entre os compartimentos dos membros na grade da janela Detalhes da Classe.
Usar o teclado do Designer de Classe
As seguintes ações de teclado têm suporte em diagramas de classe:
Chave | Contexto | Descrição |
---|---|---|
Teclas de direção | Dentro das formas de tipo | Navegação em estilo de árvore pelo conteúdo da forma (há suporte para o encapsulamento da forma). As teclas esquerda e direita expandem/recolhem o item atual se ele for expansível e navegam até o pai se ele não for (confira a navegação do modo de exibição em árvore para obter detalhes sobre o comportamento). |
Teclas de direção | Formas de nível superior | Mover formas no diagrama. |
Shift+tecla de direção | Dentro das formas de tipo | Criar uma seleção contínua que consiste em elementos de forma, como membros, tipos aninhados ou compartimentos. Esses atalhos não dão suporte ao encapsulamento. |
Início | Dentro das formas de tipo | Navegue até o título de forma de nível superior. |
Início | Formas de nível superior | Navegue até a primeira forma no diagrama. |
End | Dentro das formas de tipo | Navegue até o último elemento visível dentro da forma. |
End | Formas de nível superior | Navegue até a última forma no diagrama. |
Shift+Home | Dentro da forma de tipo | Seleciona elementos dentro da forma começando com o item atual e terminando com o item mais alto na mesma forma. |
Shift+End | Dentro da forma de tipo | O mesmo que Shift+Home, mas na direção de cima para baixo. |
Enter | Todos os contextos | Invoca a ação padrão na forma, o que também está disponível por meio de um clique duplo. Na maioria dos casos, essa ação é Exibir Código, mas alguns elementos a definem de maneira diferente (pirulitos, cabeçalhos de compartimento, rótulos de pirulito). |
+ e - | Todos os contextos | Se o elemento em foco no momento for expansível, essas chaves expandirão ou recolherão o elemento. |
> | Todos os contextos | Em elementos com filhos, isso expande o elemento se ele estiver recolhido e navega até o primeiro filho. |
< | Todos os contextos | Navega até o elemento pai. |
Alt+Shift+L | Dentro de formas de tipo + em formas de tipo. | Navega até o pirulito da forma atualmente selecionada, se este estiver presente. |
Alt+Shift+B | Dentro de formas de tipo + em formas de tipo. | Se lista de tipos base for mostrada na forma de tipo e tiver mais de um item, isso alternará o estado de expansão da lista (expandir/recolher). |
Excluir | Sobre Tipos e Formas de Comentários | Invoca o comando Remover do Diagrama. |
Excluir | Em todo o resto. | Invoca o comando Excluir do Código (membros, parâmetros, associações, herança, rótulos de pirulito). |
Ctrl+Delete | Todos os contextos | Invoca o comando Excluir do Código na seleção. |
Aba | Todos os contextos | Navega até o próximo filho dentro do mesmo pai (dá suporte a encapsulamento). |
Shift+Tab | Todos os contextos | Navega até o filho anterior dentro do mesmo pai (dá suporte a encapsulamento). |
Barra de espaços | Todos os contextos | Alterna a seleção no elemento atual. |
Usar o teclado na janela Detalhes da Classe
Observação
As associações de chave a seguir imitam a experiência de digitar código.
Usar as chaves a seguir para navegar na janela Detalhes da Classe:
Chave | Resultado |
---|---|
, (vírgula) | Se o cursor estiver em uma linha de parâmetro, digitar uma vírgula moverá o cursor para o campo Nome do próximo parâmetro. Se o cursor estiver na última linha de parâmetro de um método, ele moverá o cursor para o campo <adicionar parâmetro>, que você pode usar para criar um novo parâmetro. Se o cursor estiver em outro lugar na janela Detalhes da Classe, digitar uma vírgula adicionará literalmente uma vírgula ao campo atual. |
; (ponto-e-vírgula) ou ) (parênteses de fechamento) | Mova o cursor para o campo Nome da próxima linha de membro na grade da janela Detalhes da Classe. |
Aba | Move o cursor para o próximo campo, primeiro movendo-se da esquerda para a direita e, em seguida, de cima para baixo. Se o cursor estiver saindo de um campo no qual você digitou algum texto, a janela Detalhes da Classe processará o texto e o armazenará se ele não produzir um erro. Se o cursor estiver em um campo vazio, como <adicionar parâmetro>, Tab o moverá para o primeiro campo da próxima linha. |
Barra de espaços | Move o cursor para o próximo campo, primeiro movendo-se da esquerda para a direita e, em seguida, de cima para baixo. Se o cursor estiver em um campo vazio, como <adicionar parâmetro>, ele passará para o primeiro campo da próxima linha. Observe que o espaço <> digitado imediatamente após uma vírgula é ignorado. Se o cursor estiver no campo Resumo, digitar um espaço adiciona um caractere de espaço. Se o cursor estiver na coluna Ocultar de uma determinada linha, digitar um espaço alterna o valor da caixa de seleção Ocultar. |
Ctrl+Tab | Mude para outra janela do documento. Por exemplo, mude da janela Detalhes da Classe para um arquivo de código aberto. |
Esc | Se você tiver começado a digitar texto em um campo, pressionar ESC atua como uma tecla de desfazer, revertendo o conteúdo do campo para o valor anterior. Se a Janela Detalhes da Classe tiver o foco geral, mas nenhuma célula específica estiver em foco, pressionar ESC removerá o foco da janela Detalhes da Classe. |
Seta para cima e seta para baixo | Essas chaves movem o cursor de uma linha para outra, verticalmente, na grade da janela Detalhes da Classe. |
Seta para a esquerda | Se o cursor estiver na coluna Nome, pressionar a seta para a esquerda recolhe o nó atual da hierarquia (se ele estiver aberto). |
Seta para a direita | Se o cursor estiver na coluna Nome, pressionar a seta para a direita expande o nó atual da hierarquia (se ele estiver recolhido). |
Gorjeta
Para obter uma lista abrangente de atalhos de teclado, consulte atalhos de teclado no Visual Studio.