O que é Class Designer?
Com a ferramenta Class Designer 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 o código.
Observação
O Class Designer não está disponível no .NET Core e no .NET 5 e projetos posteriores.
Sobre diagramas de classe
Aqui está o que você pode fazer com diagramas de classe, em mais detalhes:
Design: edite o código do seu projeto editando o diagrama de classes. Adicione novos elementos e exclua os indesejados. Suas alterações são refletidas no código.
Visualizar: Compreenda a estrutura do seu projeto visualizando as classes do seu projeto em um diagrama. Personalize seu diagrama para que você possa se concentrar nos detalhes do projeto que mais lhe interessam. Salve seu diagrama para usar mais tarde para demonstração ou documentação.
Refactor: Substituir métodos, renomear identificadores, refatorar parâmetros e implementar interfaces e classes abstratas.
Ver tipos e relações
Os diagramas de classes mostram os detalhes dos tipos, por exemplo, seus membros constituintes e as relações entre eles. A visualização dessas entidades é uma visão dinâmica do 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 classes é mantido em sincronia com as alterações feitas nos arquivos de código.
Observação
Se seu projeto contém um diagrama de classe e seu projeto faz referência a um tipo que está localizado em outro projeto, o diagrama de classes não mostra 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ê reconstrua o projeto para essa entidade.
Fluxo de trabalho do diagrama de classes
Os diagramas de classes podem ajudá-lo a entender a estrutura de classes dos projetos. Esses projetos podem ter sido criados por outros desenvolvedores, ou você só precisa de uma atualização 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 classes 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 podem ser usados 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 classes 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ê pode 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 OfficeImprimir diagramas de classe e Exportar diagramas de classe como imagens.
Observação
O Class Designer não controla o local dos arquivos de origem, portanto, alterar a estrutura do projeto ou mover os arquivos de origem no projeto pode fazer com que o Class Designer 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 Class Designer não consegue exibir esse tipo. Se o fizer, arraste o código-fonte modificado ou realocado para o diagrama de classes novamente para exibi-lo novamente.
Adicionar diagramas de classe a projetos
Para projetar, editar e refatorar classes e outros tipos, adicione um diagrama de classes 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.
Não é possível criar diagramas de classe a partir 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 Class Designer
Se você não tiver instalado o componente Class Designer, siga estas etapas para instalá-lo.
Abra do Visual Studio Installer no menu Iniciar do Windows ou selecionando Ferramentas >Obter Ferramentas e Recursos na barra de menus do Visual Studio.
Abre-se o Visual Studio Installer.
Se você já tiver o Visual Studio instalado, clique no botão Modificar nas opções.
Selecione o separador componentes individuais e, em seguida, desloque-se para baixo até à categoria Ferramentas de código.
Selecione Designer de Classe e depois selecione Modificar.
O componente Class Designer começa a instalar.
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 aparecer uma pequena janela 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 Gerale, em seguida, selecione Diagrama de Classes na lista de modelos. Para projetos do Visual C++, procure na categoria Utility para localizar o modelo Diagrama de Classe.
Observação
Se não vires o modelo de Diagrama de Classe , segue as etapas para instalar o componente Desenhador de Classes para o Visual Studio. Conforme dito anteriormente neste artigo, o Class Designer não está disponível para .NET Core e .NET 5 e posterior.
O diagrama de classes é aberto no Class Designer e aparece como um ficheiro que possui a extensão .cd no Explorador de Soluções . Você pode arrastar formas e linhas para o diagrama a partir da Caixa de Ferramentasou arrastar um nó de projeto do Gerenciador de Soluções para adicionar as classes nesse 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 classes
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 classes. Um diagrama de classe preenchido automaticamente é criado.
Importante
Class Designer não está disponível em projetos .NET Core.
Personalizar diagramas de classe
Você pode alterar a maneira como os diagramas de classe exibem informações. Você pode personalizar o diagrama inteiro 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 a forma como os membros individuais do tipo são agrupados e classificados, ocultar ou mostrar relações e mover indivíduos ou conjuntos de tipos para qualquer lugar no 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.
Aumentar e diminuir o zoom do diagrama de classes
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Na barra de ferramentas "Class Designer" , clique no botão Zoom In ou no botão Zoom Out para ajustar o nível de zoom da superfície do designer.
ou
Especifique um valor de zoom específico. Pode utilizar a lista suspensa Zoom ou digitar um nível de zoom válido (o intervalo válido está entre 10% e 400%).
Observação
Alterar o nível de zoom não afeta a escala da impressão do diagrama de classes.
Personalizar o agrupamento e a classificação de membros do tipo
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Clique com o botão direito do rato numa á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 individuais do tipo 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 exibe nenhum grupo de eventos se ainda não houver eventos definidos para essa classe.
Grupo por Access separa membros de tipo individuais em uma lista agrupada com base nos modificadores de acesso do membro. Por exemplo, Público e Privado.
Classificar alfabeticamente exibe os itens que compõem uma entidade como uma única lista alfabética. A lista é ordenada por ordem crescente.
Ocultar compartimentos em um tipo
Abra e selecione um ficheiro de diagrama de classe no Class Designer.
Clique com o botão direito do mouse na categoria de membro no tipo que você deseja personalizar (por exemplo, selecione o nó Métodos em uma classe.
Clique Ocultar Compartimento.
O compartimento selecionado desaparece do recipiente do tipo mencionado.
Ocultar membros individuais num tipo
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Clique com o botão direito do rato sobre o membro do tipo que pretende ocultar.
Clique Ocultar.
O membro selecionado desaparece do contêiner de tipo.
Mostrar compartimentos e membros ocultos num tipo
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Clique com o botão direito do mouse no nome do tipo com o compartimento oculto.
Clicar em Mostrar todos os membros.
Todos os compartimentos e membros ocultos aparecem no container de tipo.
Ocultar relações
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Clique com o botão direito do rato na linha de associação ou herança que pretende ocultar.
Clique Ocultar para linhas de associação e clique Ocultar linha de herança para linhas de herança.
Clicar em Mostrar todos os membros.
Todos os compartimentos e membros ocultos aparecem no container de tipo.
Mostrar relações ocultas
Abra e selecione um arquivo de diagrama de classe no Class Designer.
Clique com o botão direito do mouse no tipo com a associação ou herança oculta.
Clique Mostrar Todos os Membros para linhas de associação, e clique Mostrar Classe Base ou Mostrar Classes Derivadas para linhas de herança.
Remover uma forma de um diagrama de classes
Você pode remover uma forma de texto do diagrama de classes sem afetar o código subjacente do tipo. A remoção de formas de texto de um diagrama de classes 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 classes, selecione a forma de texto que deseja remover do diagrama.
No menu Editar, escolha Remover do Diagrama.
A forma de texto e quaisquer linhas de associação ou herança conectadas à forma não aparecem mais no diagrama.
Excluir uma forma de texto e seu código subjacente
Clique com o botão direito do rato 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 do diagrama de classes 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 de seu código subjacente, com base no tipo de documento em que a colou. Para copiar formas de diagramas de classes UML num projeto de modelação, consulte 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 pretende copiar.
Clique com o botão direito do rato na sua seleção e escolha Copiar imagem.
Copiar todos os elementos em um diagrama de classes
Clique com o botão direito do mouse na superfície do diagrama e escolha Selecionar tudoou 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 normal. 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 classes que você criou a partir do código em um projeto, salve o diagrama como uma imagem. Se quiseres exportar diagramas de classe UML em vez disso, vê Exportar diagramas como imagens.
Exportar um diagrama
Abra o arquivo de diagrama de classes (.cd).
No menu Diagrama de Classes ou no menu de atalho na interface 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 classes
Abra o diagrama de classes.
Clique Imprimir no menu Arquivo.
O diagrama de classes 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 vista de diagrama de classes no Class Designer. 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 que ele continha também serão excluídos.
Você pode redimensionar uma forma de comentário, mas não pode alterar outros aspetos de sua aparência, como a cor do plano de fundo, a fonte ou o tamanho da fonte.
Para adicionar um comentário
Arraste um comentário do Caixa de Ferramentas do Class Designer para o diagrama de classes.
Clique na nova forma de comentário no diagrama e digite o texto desejado.
Use os atalhos de rato e teclado na janela Diagrama de Classes 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 do Class Designer e na janela Class Details.
Use o rato no Class Designer
As seguintes ações do mouse são suportadas em diagramas de classe:
Combinação de ratos | Contexto | Descrição |
---|---|---|
Clique duas vezes em | Elementos de forma | Abre o editor de códigos. |
Clique duas vezes em | Conector Lollipop | Expandir/fechar pirulito. |
Clique duas vezes em | Etiqueta do conector Lollipop | Invoca o comando "Mostrar Interface" . |
Roda do rato | Diagrama de classes | Desloque-se verticalmente. |
Shift + Roda do Mouse | Diagrama de classes | Desloque-se horizontalmente. |
Ctrl + Roda do Rato | Diagrama de classes | Ampliar. |
Ctrl+Shift + clique | Diagrama de classes | Ampliar. |
Use o mouse na janela Detalhes da classe
Usando um rato, pode-se alterar a aparência da janela Detalhes da classe e os dados que ela exibe 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, inclusive na janela Propriedades e no código-fonte.
Clicar em qualquer célula de uma linha faz com que a janela Propriedades exiba as propriedades do elemento representado por essa linha.
Para alterar a largura de uma coluna, arraste o limite à direita do cabeçalho da coluna até obter a largura desejada.
Você pode expandir ou recolher nós de compartimento ou propriedade clicando nos símbolos de seta à esquerda da linha.
A janela Detalhes da Classe oferece vários botões para criar novos membros na classe atual e para navegar entre os compartimentos dos membros na grade da janela Detalhes da Classe.
Usar o teclado no Class Designer
As seguintes ações de teclado são suportadas em diagramas de classe:
Chave | Contexto | Descrição |
---|---|---|
Teclas de seta | Formas de texto internas | Navegação em estilo de árvore no conteúdo da figura (há suporte para contorno em torno da figura). As teclas esquerda e direita expandem/recolhem o item atual se ele for expansível e navegam até o item pai, se não for (consulte a navegação em árvore para detalhes sobre o comportamento). |
Teclas de seta | Formas de nível superior | Mover formas no diagrama. |
Shift+teclas de seta | Formas de texto internas | Criação de seleção contínua que consiste em elementos de forma, como membros, tipos aninhados ou compartimentos. Esses atalhos não suportam envolvimento. |
Início | Formas de texto internas | Navegue até o título da forma de nível superior. |
Início | Formas de nível superior | Navegue até a primeira forma no diagrama. |
Fim | Formas de texto internas | Navegue até o último elemento visível dentro da forma. |
Fim | Formas de nível superior | Navegue até a última forma do diagrama. |
Shift+Home | Formato interno do tipo | Seleciona elementos dentro da forma, começando com o item atual e terminando com o item mais alto na mesma forma. |
Shift+End | Formato interno do tipo | O mesmo que Shift+Home mas na direção de cima para baixo. |
Digite | Todos os contextos | Invoca a ação padrão na figura, que também está disponível através de um clique duplo. Na maioria dos casos, trata-se de View Code, mas alguns elementos o definem de forma diferente (pirulitos, cabeçalhos de compartimento, rótulos de pirulitos). |
+ e - | Todos os contextos | Se o elemento atualmente focado for expansível, essas chaves expandem ou recolhem o elemento. |
> | Todos os contextos | Em elementos com crianças, isso expande o elemento se ele estiver colapsado e navega para o primeiro filho. |
< | Todos os contextos | Navega para o elemento pai. |
Alt+Shift+L | Dentro de formas tipográficas + sobre formas tipográficas. | Navega até o pirulito da forma selecionada no momento, se ele estiver presente. |
Alt+Shift+B | Dentro de formas tipográficas + sobre formas tipográficas. | Se a lista de tipos base for mostrada na forma de texto e tiver mais de um item, isso alternará o estado de expansão da lista (recolher/expandir). |
Excluir | Em formas de texto e comentário | Invoca o comando Remover do Diagrama . |
Excluir | Em tudo o resto. | Invoca o comando Eliminar do Código (membros, parâmetros, associações, herança, rótulos de lollipop). |
Ctrl+Excluir | Todos os contextos | Invoca comando Excluir do de código na seleção. |
Tab | Todos os contextos | Navega para o próximo filho dentro do mesmo pai (suporta embrulho). |
Shift+Tab | Todos os contextos | Navega para a criança anterior dentro do mesmo pai (suporta embrulho). |
Barra de espaço | Todos os contextos | Alterna a seleção no elemento atual. |
Usar o teclado na janela Detalhes da classe
Observação
As ligações de teclas a seguir imitam a experiência de digitar código.
Use as seguintes teclas para navegar pela janela Class Details:
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âmetros 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 literalmente adiciona uma vírgula no campo atual. |
(ponto e vírgula) ; ou (parêntese de fechamento) ) | Mova o cursor para o campo Nome da próxima linha de membro na grelha da janela Detalhes da Classe. |
Tab | Move o cursor para o campo seguinte, movendo-se primeiro da esquerda para a direita e depois de cima para baixo. Se o cursor estiver a mover-se de um campo no qual tiver digitado texto, Detalhes da Classe processará esse texto e o armazenará se 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ço | Move o cursor para o campo seguinte, movendo-se primeiro da esquerda para a direita e depois de cima para baixo. Se o cursor estiver em um campo vazio, como <adicionar parâmetro>, ele será movido 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 adicionará um caractere de espaço. Se o cursor estiver na coluna "Ocultar" de uma linha específica, digitar um espaço alterna o valor da caixa de seleção "Ocultar". |
Ctrl+Tab | Mude para outra janela de documento. Por exemplo, mude da janela Detalhes da Classe para um arquivo de código aberto. |
Esc | Se tiver começado a digitar texto num campo, pressionar ESC age como uma tecla de anular, revertendo o conteúdo do campo para o seu valor anterior. Se a janela Detalhes da classe tiver foco geral, mas nenhuma célula específica tiver foco, pressionar ESC afastará o foco da janela Detalhes da classe. |
Seta para cima e seta para baixo | Essas teclas movem o cursor verticalmente de linha em linha na grade da janela Detalhes da Classe. |
Seta para a esquerda | Se o cursor estiver na coluna Nome, pressionar a seta para a esquerda irá recolher o nó atual na hierarquia, se este estiver aberto. |
Seta para a direita | Se o cursor estiver na coluna "Nome", pressionar a seta para a direita expandirá o nó atual na hierarquia (se estiver recolhido). |
Dica
Para obter uma lista abrangente de atalhos de teclado, consulte Atalhos de teclado no Visual Studio.