Che cos'è Progettazione classi?

Con lo strumento Progettazione classi in Visual Studio è possibile progettare, visualizzare e effettuare il refactoring dei diagrammi classi nei progetti C#, Visual Basic o C++. I diagrammi classi mostrano gli elementi di codice e le relative relazioni in un'area di progettazione visiva, che consentono di comprendere meglio la struttura del progetto e riorganizzare il codice.

Nota

Progettazione classi non è disponibile nei progetti .NET Core.

Informazioni sui diagrammi classi

Ecco le operazioni che è possibile eseguire con i diagrammi classi, in modo più dettagliato:

  • Progettare: cambiare il codice del progetto modificando il diagramma classi. Aggiungere nuovi elementi ed eliminare quelli non desiderati. Le modifiche verranno riflesse nel codice.

  • Visualizzare: comprendere meglio la struttura del progetto visualizzando le classi del progetto in un diagramma. Personalizzare il diagramma in modo da potersi concentrare sui dettagli del progetto a cui si è più interessati. Salvare il diagramma da usare in seguito a scopo dimostrativo o come documentazione.

  • Effettuare il refactoring: eseguire l'override dei metodi, rinominare gli identificatori, effettuare il refactoring dei parametri e implementare interfacce e classi astratte.

Visualizzare tipi e relazioni

I diagrammi classi visualizzano i dettagli dei tipi, ad esempio i membri che li costituiscono e le relazioni tra gli stessi. La visualizzazione di queste entità è una visualizzazione dinamica nel codice. Ciò significa che è possibile modificare i tipi nella finestra di progettazione e quindi visualizzare le modifiche riflesse nel codice sorgente dell'entità. Analogamente, il diagramma classi viene mantenuto sincronizzato con le modifiche apportate ai file di codice.

Nota

Se il progetto contiene un diagramma classi e il progetto fa riferimento a un tipo che si trova in un altro progetto, il diagramma classi non mostra il tipo a cui si fa riferimento finché non si compila il progetto per tale tipo. Analogamente, il diagramma non visualizza le modifiche apportate al codice dell'entità esterna fino a quando non si ricompila il progetto per tale entità.

Flusso di lavoro del diagramma classi

I diagrammi classi consentono di comprendere la struttura di classi dei progetti. I progetti potrebbero essere stati creati da altri sviluppatori oppure è semplicemente necessario un aggiornamento su un progetto creato personalmente. È possibile usare i diagrammi classi per personalizzare, condividere e presentare informazioni sui progetti ad altri utenti.

La prima fase della presentazione di informazioni sui progetti consiste nella creazione di un diagramma classi che comprenda gli elementi da visualizzare. Per altre informazioni, vedere Aggiungere un diagramma classi. È possibile creare più diagrammi classi per un progetto, da usare per mostrare una visualizzazione distinta del progetto, un subset scelto dei tipi del progetto oppure un subset scelto dei membri dei tipi.

Oltre a definire ciò che ogni diagramma classi mostra, è anche possibile modificare il modo in cui vengono presentate le informazioni; per altre informazioni, vedere Personalizzare diagrammi classi.

Dopo aver ottimizzato uno o più diagrammi classi, è possibile copiarli in documenti di Microsoft Office e stamparli oppure esportarli come file di immagine. Per altre informazioni, vedere Copiare gli elementi del diagramma classi in un documento di Microsoft Office, Stampare diagrammi classi ed Esportare diagrammi classi come immagini.

Nota

Progettazione classi non tiene traccia del percorso dei file di origine, pertanto la modifica della struttura del progetto o lo spostamento dei file di origine nel progetto può causare la perdita di traccia del tipo da progettazione classi, in particolare il tipo di origine di un typedef, classi base o tipi di associazione. Si potrebbe ricevere un errore, ad esempio Progettazione classi: impossibile visualizzare il tipo. In tal caso, trascinare di nuovo il codice sorgente modificato o riposizionato nel diagramma classi per visualizzarlo nuovamente.

Aggiungere diagrammi classi ai progetti

Aggiungere un diagramma di classi al progetto C#, Visual Basic o C++ per progettare, modificare ed effettuare il refactoring di classi e altri tipi. Per visualizzare diverse parti del codice in un progetto, aggiungere più diagrammi di classi al progetto.

Non è possibile creare diagrammi di classi da progetti che condividono codice tra più app. Per creare diagrammi classi UML, vedere Creare diagrammi e progetti di modellazione UML.

Installare il componente Progettazione classi

Se non è stato installato il componente Progettazione classi, seguire questa procedura per installarlo.

  1. Aprire il Programma di installazione di Visual Studio dal menu Start di Windows o selezionando Strumenti>Ottieni strumenti e funzionalità dalla barra dei menu in Visual Studio.

    Il Programma di installazione di Visual Studio si apre.

  2. Se Visual Studio è già installato, fare clic sul pulsante Modifica nelle opzioni.

  3. Selezionare la scheda Singoli componenti e quindi scorrere verso il basso fino alla categoria Strumenti per il codice.

  4. Selezionare Progettazione classi e quindi Modifica.

    Screenshot of the Class Designer component in the Visual Studio Installer.

    Screenshot of the Class Designer component in the Visual Studio Installer.

    Viene avviata l'installazione del componente Progettazione classi.

Aggiungere un diagramma classi vuoto a un progetto

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e quindi scegliere Aggiungi>Nuovo elemento. Oppure premere CTRL+MAIUSC+A. Se viene visualizzata una piccola finestra con solo l'opzione per aggiungere un file di codice, scegliere il pulsante Mostra tutti i modelli .

    Viene aperta la finestra di dialogo Aggiungi nuovo elemento.

  2. Espandere Generale e quindi selezionare Diagramma classi dall'elenco dei modelli. Per i progetti Visual C++ consultare la categoria Utilità per trovare il modello Diagramma classi.

    Nota

    Se il modello Diagramma classi non viene visualizzato, seguire i passaggi per installare il componente Progettazione classi per Visual Studio.

    Il diagramma classi viene aperto in Progettazione classi e appare come file con estensione CD in Esplora soluzioni. È possibile trascinare forme e linee nel diagramma da Casella degli strumenti.

Per aggiungere più diagrammi classi, ripetere questa procedura.

Aggiungere un diagramma classi basato su tipi esistenti

In Esplora soluzioni aprire il menu di scelta rapida di un file (clic con il pulsante destro del mouse) e quindi scegliere Visualizza diagramma classi.

-o-

In Visualizzazione classi aprire il menu di scelta rapida del tipo o dello spazio dei nomi e quindi scegliere Visualizza diagramma classi.

Suggerimento

Se Visualizzazione classi non è già visualizzata, aprire Visualizzazione classi dal menu Visualizza. In alternativa, premere CTRL+MAIUSC+C.

Per visualizzare il contenuto di un progetto completo in un diagramma classi

In Esplora soluzioni o Visualizzazione classi fare clic con il pulsante destro del mouse sul progetto e scegliere Visualizzazione, quindi scegliere Visualizza diagramma classi.

Verrà creato un diagramma classi compilato automaticamente.

Importante

Progettazione classi non è disponibile nei progetti .NET Core.

Personalizzare diagrammi classi

È possibile modificare la modalità con cui i diagrammi classi visualizzano le informazioni. È possibile personalizzare l'intero diagramma o i singoli tipi nell'area di progettazione.

È possibile, ad esempio, regolare il livello di zoom di un intero diagramma classi, modificare il modo in cui singoli membri di tipo vengono raggruppati e ordinati, nascondere o visualizzare relazioni e spostare singoli tipi o set di tipi in qualsiasi punto del diagramma.

Nota

La personalizzazione della modalità di visualizzazione delle forme nel diagramma non modifica il codice sottostante per i tipi rappresentati nel diagramma.

Le sezioni contenenti membri di tipo, ad esempio la sezione Proprietà in una classe, vengono definite raggruppamenti. È possibile nascondere o visualizzare singoli raggruppamenti e membri di tipo.

Eseguire lo zoom avanti e indietro sul diagramma classi

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Nella barra degli strumenti di Progettazione classi fare clic sul pulsante Zoom avanti o Zoom indietro per modificare il livello di zoom dell'area di progettazione.

    oppure

    Specificare un particolare valore di zoom. È possibile usare l'elenco a discesa Zoom o digitare un livello di zoom valido (l'intervallo valido è compreso tra 10% e 400%).

    Nota

    La modifica del livello di zoom non influisce sulla scala della stampa del diagramma classi.

Personalizzare il raggruppamento e l'ordinamento dei membri di tipo

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse in un punto vuoto dell'area di progettazione e scegliere Raggruppa membri.

  3. Selezionare una delle opzioni disponibili:

    • Raggruppa per tipo separa i singoli membri di tipo in un elenco raggruppato di proprietà, metodi, eventi e campi. I singoli gruppi dipendono dalla definizione delle entità: ad esempio, una classe non visualizza alcun gruppo di eventi se non sono ancora stati definiti eventi per tale classe.

    • Raggruppa per accesso separa i singoli membri di tipo in un elenco raggruppato basato sui modificatori di accesso del membro. Ad esempio, Public e Private.

    • Ordina alfabeticamente visualizza gli elementi che costituiscono un'entità come singolo elenco in ordine alfabetico. L'elenco è ordinato in ordine crescente.

Nascondere i raggruppamenti in un tipo

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse sulla categoria del membro nel tipo da personalizzare (ad esempio, selezionare il nodo Metodi in una classe).

  3. Fare clic su Nascondi raggruppamento.

    Il raggruppamento selezionato verrà rimosso dal contenitore del tipo.

Nascondere singoli membri in un tipo

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse sul membro nel tipo da nascondere.

  3. Fare clic su Nascondi.

    Il membro selezionato verrà rimosso dal contenitore del tipo.

Mostrare raggruppamenti e membri nascosti in un tipo

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse sul nome del tipo con il raggruppamento nascosto.

  3. Fare clic su Mostra tutti i membri.

    Tutti i raggruppamenti e i membri nascosti verranno visualizzati nel contenitore del tipo.

Nascondere relazioni

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse sulla linea di associazione o ereditarietà che si desidera nascondere.

  3. Fare clic su Nascondi per le linee di associazione e scegliere Nascondi linea ereditarietà per le linee di ereditarietà.

  4. Fare clic su Mostra tutti i membri.

    Tutti i raggruppamenti e i membri nascosti verranno visualizzati nel contenitore del tipo.

Mostrare relazioni nascoste

  1. Aprire e selezionare un file di diagramma classi in Progettazione classi.

  2. Fare clic con il pulsante destro del mouse sul tipo con l'associazione o l'ereditarietà nascosta.

    Fare clic su Mostra tutti i membri per le linee di associazione e su Mostra classe base o Mostra classi derivate per le linee di ereditarietà.

Rimuovere una forma da un diagramma di classi

È possibile rimuovere una forma di tipo dal diagramma di classi senza influire sul codice sottostante del tipo. La rimozione di forme di tipo da un diagramma classi influisce solo su tale diagramma: il codice sottostante che definisce il tipo e altri diagrammi che visualizzano il tipo non sono interessati.

  1. Nel diagramma classi selezionare la forma del tipo da rimuovere dal diagramma.

  2. Scegliere Rimuovi dal diagramma dal menu Modifica.

    La forma del tipo ed eventuali linee di associazione o ereditarietà connesse ad essa connesse non appariranno più sul diagramma.

Eliminare una forma di tipo e il codice sottostante

  1. Fare clic con il pulsante destro del mouse sulla forma nell'area di progettazione.

  2. Scegliere Elimina codice dal menu di scelta rapida.

    La forma verrà rimossa dal diagramma e il codice sottostante verrà eliminato dal progetto.

Copiare elementi dei diagrammi classi in un documento di Microsoft Office

È possibile copiare forme da un diagramma classi .NET (file CD) ad altri documenti. Si ottiene una copia della forma o il codice sottostante in base al tipo di documento in cui è stata incollata. Per copiare le forme da diagrammi classi UML a un progetto di modellazione, vedere Esportare diagrammi come immagini.

Copiare un solo elemento

Fare clic con il pulsante destro del mouse sulla forma e scegliere Copia immagine.

Copiare più elementi

  1. Nel diagramma selezionare le forme da copiare.

  2. Fare clic con il pulsante destro del mouse sulla selezione e scegliere Copia immagine.

Copiare tutti gli elementi in un diagramma classi

  1. Fare clic con il pulsante destro del mouse sull'area del diagramma e scegliere Seleziona tutto oppure premere CTRL+A.

  2. Scegliere Copia immagine dal menu Modifica.

È anche possibile scegliere Copia invece di Copia immagine. Copia copia l'immagine come bitmap normale. Copia immagine copia l'immagine come immagine basata su vettori, consigliabile per la maggior parte delle applicazioni Office.

Esportare diagrammi classi come immagini

Per esportare un diagramma classi creato dal codice nel progetto, salvarlo come immagine. Se si vogliono esportare i diagrammi classi UML, vedere Esportare diagrammi come immagini.

Esportare un diagramma

  1. Aprire il file del diagramma classi (CD).

  2. Nel menu Diagramma classi o nel menu di scelta rapida della superficie del diagramma scegliere Esporta diagramma come immagine.

  3. Selezionare un diagramma.

  4. Selezionare il formato desiderato.

  5. Scegliere Esporta per completare l'esportazione.

Per aggiornare automaticamente le immagini esportate collegate da altri documenti, esportare il diagramma nuovamente in Visual Studio.

È possibile stampare un diagramma classi usando la funzionalità di stampa di Visual Studio.

Per stampare un diagramma classi

  1. Aprire il diagramma classi.

  2. Scegliere Stampa dal menu File.

Viene stampato l'intero diagramma classi. Può essere necessario regolare le impostazioni nella finestra di dialogo Imposta pagina per stampare con dimensioni appropriate.

Aggiungere commenti a diagrammi classi

È possibile usare le forme Commenti per annotare i diagrammi classi. Una forma Commenti ha una sola proprietà, Testo, in cui è possibile digitare il testo. Le forme Commenti esistono solo sulla superficie del diagramma e non nel codice.

Un commento risiede nella visualizzazione del diagramma classi in Progettazione classi. Se si apre un diagramma di seconda classe nello stesso progetto, i commenti creati nella prima visualizzazione non sono visibili. Se si elimina un diagramma, vengono eliminati anche tutti i commenti in esso contenuti.

È possibile ridimensionare una forma di commento, ma non è possibile modificare altri aspetti dell'aspetto, ad esempio il colore di sfondo, il tipo di carattere o le dimensioni del carattere.

Per aggiungere un commento

  1. Trascinare un commento dalla casella degli strumenti di Progettazione classi nel diagramma classi.

  2. Fare clic sulla nuova forma Commenti nel diagramma e digitare il testo desiderato.

Usare i tasti di scelta rapida e del mouse nella finestra Diagramma classi e Dettagli classe

È possibile usare la tastiera oltre al mouse per eseguire operazioni di spostamento in Progettazione classi e nella finestra Dettagli classe.

Uso del mouse in Progettazione classi

Nei diagrammi classi sono supportate le operazioni del mouse seguenti:

Combinazione del mouse Contesto Descrizione
Fare doppio clic su Elementi forma Apre l'editor del codice.
Fare doppio clic su Connettore simbolo Espande/comprime il simbolo.
Fare doppio clic su Etichetta del connettore simbolo Richiama il comando Mostra interfaccia.
Rotellina del mouse Diagramma classi Scorre verticalmente.
MAIUSC + rotellina del mouse Diagramma classi Scorre orizzontalmente.
CTRL + rotellina del mouse Diagramma classi Ingrandisce.
CTRL+MAIUSC + clic Diagramma classi Ingrandisce.

Uso del mouse nella finestra Dettagli classe

Usando il mouse è possibile modificare l'aspetto della finestra Dettagli classe e i dati che vengono visualizzati nei modi seguenti:

  • Facendo clic in qualsiasi cella modificabile è possibile modificarne il contenuto. Tutte le modifiche apportate si riflettono in tutte le posizioni in cui i dati sono archiviati o visualizzati, anche nella finestra Proprietà e nel codice sorgente.

  • Se si fa clic in una cella di una riga, nella finestra Proprietà vengono visualizzate le proprietà relative all'elemento rappresentato da tale riga.

  • Per cambiare la larghezza di una colonna, trascinare il bordo sul lato destro dell'intestazione della colonna fino a ottenere la larghezza desiderata.

  • Per espandere o comprimere nodi di raggruppamenti o proprietà, fare clic sui simboli freccia a sinistra della riga.

  • La finestra Dettagli classe contiene diversi pulsanti che consentono di creare nuovi membri nella classe corrente e di spostarsi tra i raggruppamenti dei membri nella griglia della finestra.

Uso della tastiera in Progettazione classi

Nei diagrammi classi sono supportate le operazioni della tastiera seguenti:

Key Contesto Descrizione
Tasti di direzione All'interno delle forme dei tipi Navigazione nel contenuto della forma in un formato struttura ad albero (è supportato il wrapping per la forma). I tasti sinistro e destro espandono/comprimeno l'elemento corrente se è espandibile e passano all'elemento padre, se non lo è (vedi lo spostamento nella visualizzazione albero per un comportamento dettagliato).
Tasti di direzione Forme di primo livello Consentono di spostare forme nel diagramma.
MAIUSC+tasti di direzione All'interno delle forme dei tipi Creazione della selezione continua costituita da elementi della forma quali membri, tipi nidificati o raggruppamenti. Questi tasti di scelta rapida non supportano il wrapping.
Home All'interno delle forme dei tipi Passa al titolo della forma di primo livello.
Home Forme di primo livello Passa alla prima forma del diagramma.
Fine All'interno delle forme dei tipi Passa all'ultimo elemento visibile all'interno della forma.
Fine Forme di primo livello Passa all'ultima forma del diagramma.
MAIUSC+Home All'interno della forma del tipo Seleziona gli elementi all'interno della forma a partire dall'elemento corrente e fino a quello in primo piano sulla stessa forma.
MAIUSC+Fine All'interno della forma del tipo Uguale a MAIUSC+HOME ma dall'alto verso il basso.
Immettere Tutti i contesti Richiama l'azione predefinita sulla forma, disponibile anche tramite doppio clic. Nella maggior parte dei casi si tratta di Visualizza codice, ma per alcuni elementi la definizione è differente (simboli, intestazioni di raggruppamenti, etichette di simboli).
+ e - Tutti i contesti Se l'elemento con lo stato attivo è espandibile, questi tasti espandono o comprimono l'elemento.
> Tutti i contesti Negli elementi con elementi figlio, questo espande l'elemento se è compresso e passa al primo elemento figlio.
< Tutti i contesti Passa all'elemento padre.
ALT+MAIUSC+L All'interno delle forme dei tipi + sulle forme dei tipi Passa al lollipop della forma attualmente selezionata, se presente.
ALT+MAIUSC+B All'interno delle forme dei tipi + sulle forme dei tipi Se l'elenco di tipi di base è visualizzato sulla forma del tipo e contiene più di un elemento, comprime o espande l'elenco.
CANC Sulle forme dei tipi e le forme Commenti Richiama il comando Rimuovi dal diagramma.
CANC Su tutti gli altri elementi. Richiama il comando Delete from Code (Elimina dal codice) (membri, parametri, associazioni, ereditarietà, etichette di simboli).
CTRL+CANC Tutti i contesti Richiama il comando Delete from Code (Elimina dal codice) sulla selezione.
Tab Tutti i contesti Passa all'elemento figlio successivo all'interno dello stesso elemento padre (supporta il wrapping).
MAIUSC+Tab Tutti i contesti Passa all'elemento figlio precedente all'interno dello stesso elemento padre (supporta il wrapping).
BARRA SPAZIATRICE Tutti i contesti Alterna la selezione sull'elemento corrente.

Uso della tastiera nella finestra Dettagli classe

Nota

Le associazioni di tasti seguenti simulano l'esperienza di digitazione del codice.

Per spostarsi nella finestra Dettagli classe, usare i seguenti tasti:

Key Risultato
, (virgola) Se il cursore è posizionato in una riga di parametri, viene spostato nel campo Nome del parametro successivo. Se il cursore si trova nell'ultima riga di parametro di un metodo, sposta il cursore nel <campo aggiungi parametro> , che è possibile usare per creare un nuovo parametro.

Se il cursore è posizionato in un altro punto della finestra Dettagli classe, viene effettivamente aggiunta una virgola nel campo corrente.
; (punto e virgola) o ) (parentesi di chiusura) Sposta il cursore nel campo Nome della riga di membri successiva nella griglia della finestra Dettagli classe.
Tab Sposta il cursore nel campo successivo, prima da sinistra a destra e poi dall'alto verso il basso. Se il cursore viene spostato da un campo in cui è stato digitato testo, Dettagli classe elabora il testo e lo archivia se non genera un errore.

Se il cursore si trova in un campo vuoto, ad <esempio aggiungi parametro>, Tab lo sposta nel primo campo della riga successiva.
BARRA SPAZIATRICE Sposta il cursore nel campo successivo, prima da sinistra a destra e poi dall'alto verso il basso. Se il cursore si trova in un campo vuoto, ad <esempio aggiungi parametro>, passa al primo campo della riga successiva. Si noti che <lo spazio> digitato immediatamente dopo una virgola viene ignorato.

Se il cursore si trova nel campo Riepilogo, viene aggiunto uno spazio.

Se il cursore si trova nella colonna Nascondi di una determinata riga, il valore della casella di controllo Nascondi viene attivato/disattivato.
CTRL+TAB Passa a un'altra finestra del documento, ad esempio dalla finestra Dettagli classe a un file di codice aperto.
ESC Se è stata iniziata la digitazione di testo in un campo, il tasto ESC agisce da tasto di annullamento, ripristinando il valore precedente del contenuto del campo. Se la finestra Dettagli classe ha lo stato attivo generale, ma nessuna cella specifica è attiva, il tasto ESC sposta lo stato attivo dalla finestra Dettagli classe.
Freccia SU e Freccia GIÙ Questi tasti spostano il cursore da riga a riga verticalmente nella griglia della finestra Dettagli classe.
Freccia SINISTRA Se il cursore si trova nella colonna Nome, premendo la freccia sinistra si comprime il nodo corrente nella gerarchia (se è aperto).
Freccia DESTRA Se il cursore si trova nella colonna Nome, premendo la freccia destra si espande il nodo corrente nella gerarchia (se è compresso).

Suggerimento

Per un elenco completo dei tasti di scelta rapida, vedere Tasti di scelta rapida in Visual Studio.