Wat is Class Designer?
Met het hulpprogramma Class Designer in Visual Studio kunt u klassediagrammen ontwerpen, visualiseren en herstructureren in C#-, Visual Basic- of C++-projecten. In klassediagrammen ziet u de code-elementen en de bijbehorende relaties in een visueel ontwerpoppervlak, wat u kan helpen uw projectstructuur beter te begrijpen en uw code opnieuw te ordenen.
Notitie
Class Designer is niet beschikbaar in projecten van .NET Core en .NET 5 en hoger.
Over klassediagrammen
Dit is wat u kunt doen met klassediagrammen, in meer detail:
Ontwerp: bewerk de code van uw project door het klassediagram te bewerken. Voeg nieuwe elementen toe en verwijder ongewenste elementen. Uw wijzigingen worden doorgevoerd in code.
Visualiseren: inzicht in de structuur van uw project door de klassen in uw project in een diagram weer te geven. Pas uw diagram aan zodat u zich kunt richten op de projectdetails die u het belangrijkst vindt. Sla het diagram op dat u later wilt gebruiken voor demonstratie of documentatie.
Herstructureren: Methoden overschrijven, id's hernoemen, parameters herstructureren en interfaces en abstracte klassen implementeren.
Typen en relaties weergeven
In klassediagrammen ziet u de details van typen, bijvoorbeeld hun samenstellende leden en de relaties tussen deze typen. De visualisatie van deze entiteiten is een dynamische weergave in de code. Dit betekent dat u typen in de ontwerpfunctie kunt bewerken en uw wijzigingen vervolgens kunt zien in de broncode van de entiteit. Op dezelfde manier wordt het klassediagram gesynchroniseerd met wijzigingen die u aanbrengt in codebestanden.
Notitie
Als uw project een klassediagram bevat en uw project verwijst naar een type dat zich in een ander project bevindt, wordt in het klassediagram het type waarnaar wordt verwezen niet weergegeven totdat u het project voor dat type bouwt. Op dezelfde manier worden in het diagram geen wijzigingen in de code van de externe entiteit weergegeven totdat u het project voor die entiteit opnieuw opbouwt.
Werkstroom voor klasdiagram
Klasdiagrammen kunnen u helpen de klassestructuur van projecten te begrijpen. Deze projecten zijn mogelijk gemaakt door andere ontwikkelaars of u hebt alleen een vernieuwing nodig voor een project dat u zelf hebt gemaakt. U kunt klassediagrammen gebruiken om projectgegevens aan te passen, te delen en met anderen te presenteren.
De eerste stap bij het presenteren van projectgegevens is het maken van een klassediagram waarin wordt weergegeven wat u wilt weergeven. Zie Een klassediagram toevoegenvoor meer informatie. U kunt meerdere klassediagrammen maken voor een project dat kan worden gebruikt om een afzonderlijke weergave van het project weer te geven, een gekozen subset van de typen van het project of een gekozen subset van de leden van de typen.
Naast het definiëren van wat elk klassediagram weergeeft, kunt u ook de manier wijzigen waarop informatie wordt gepresenteerd; Zie Klassediagrammen aanpassenvoor meer informatie.
Nadat u een of meer klassendiagrammen hebt afgestemd, kunt u ze kopiëren naar Microsoft Office-documenten en deze afdrukken of exporteren als afbeeldingsbestanden. Zie Klassediagramelementen kopiëren naar een Microsoft Office-document, Klassediagrammen afdrukken en Klassediagrammen exporteren als afbeeldingenvoor meer informatie.
Notitie
Class Designer houdt de locatie van uw bronbestanden niet bij, dus het wijzigen van de projectstructuur of het verplaatsen van bronbestanden in het project kan ertoe leiden dat Class Designer het type kwijtraakt, met name het brontype van een typedef, basisklassen of koppelingstypen. Mogelijk krijgt u een foutmelding, zoals Class Designer dit type niet kan weergeven. Als u dit doet, sleept u de gewijzigde of verplaatste broncode opnieuw naar het klassediagram om het opnieuw weer te geven.
Klassediagrammen toevoegen aan projecten
Als u klassen en andere typen wilt ontwerpen, bewerken en herstructureren, voegt u een klassediagram toe aan uw C#-, Visual Basic- of C++-project. Als u verschillende onderdelen van de code in een project wilt visualiseren, voegt u meerdere klassediagrammen toe aan het project.
U kunt geen klassediagrammen maken op basis van projecten die code delen in meerdere apps. Zie Creëer UML-modelleringsprojecten en diagrammenom UML-klassediagrammen te maken.
Het onderdeel Class Designer installeren
Als u het onderdeel Class Designer niet hebt geïnstalleerd, volgt u deze stappen om het te installeren.
Open Visual Studio Installer in het menu Start van Windows of selecteer Tools>Get Tools and Features in de menubalk in Visual Studio.
Visual Studio Installer wordt geopend.
Als u Visual Studio al hebt geïnstalleerd, klikt u op de knop Wijzigen in de opties.
Selecteer het tabblad Afzonderlijke onderdelen en schuif omlaag naar de Hulpprogramma's voor code categorie.
Selecteer Class Designer- en selecteer vervolgens Wijzigen.
Het onderdeel Class Designer wordt geïnstalleerd.
Een leeg klassediagram toevoegen aan een project
Klik in Solution Explorer-met de rechtermuisknop op het projectknooppunt en kies vervolgens Toevoegen>Nieuw item. Of druk op Ctrl+Shift+A. Als er een klein venster wordt weergegeven met alleen de optie om een codebestand toe te voegen, kiest u de knop Alle sjablonen weergeven.
Het dialoogvenster Nieuw item toevoegen wordt geopend.
Vouw algemeenuit en selecteer klassediagram in de sjabloonlijst. Voor Visual C++-projecten zoekt u in de categorie Utility om de sjabloon klassediagram te vinden.
Notitie
Als u de sjabloon klassediagram niet ziet, volg de stappen om het Class Designer-component voor Visual Studio te installeren. Zoals eerder in dit artikel is aangegeven, is Class Designer niet beschikbaar voor .NET Core en .NET 5 en hoger.
Het klassediagram wordt geopend in Class Designer en wordt weergegeven als een bestand met de extensie .cd in Solution Explorer. U kunt vormen en lijnen naar het diagram slepen vanuit Werksetof een projectnode vanuit Solution Explorer slepen om klassen in dat project toe te voegen.
Als u meerdere klassediagrammen wilt toevoegen, herhaalt u de stappen in deze procedure.
De inhoud van een volledig project weergeven in een klassediagram
Open een leeg klassediagram en sleep het projectknooppunt van Solution Explorer naar het klassediagramoppervlak. Er wordt een automatisch ingevuld klassediagram gemaakt.
Belangrijk
Class Designer is niet beschikbaar in .NET Core-projecten.
Klasdiagrammen aanpassen
U kunt de manier wijzigen waarop klassediagrammen informatie weergeven. U kunt het hele diagram of de afzonderlijke typen op het ontwerpoppervlak aanpassen.
U kunt bijvoorbeeld het zoomniveau van een volledig klasdiagram aanpassen, wijzigen hoe afzonderlijke typeleden worden gegroepeerd en gesorteerd, relaties verbergen of weergeven en afzonderlijke of sets typen overal in het diagram verplaatsen.
Notitie
Door de manier aan te passen waarop shapes in het diagram worden weergegeven, wordt de onderliggende code voor de typen die in het diagram worden weergegeven, niet gewijzigd.
De secties met typeleden, zoals de Eigenschappen sectie in een klasse, worden compartimenten genoemd. U kunt individuele compartimenten en typeleden verbergen of weergeven.
In- en uitzoomen op het klasdiagram
Open en selecteer een klassediagrambestand in Class Designer-.
Klik op de werkbalk Class Designer op de knop Inzoomen of de knop Uitzoomen om het zoomniveau van het ontwerpoppervlak te wijzigen.
of
Geef een bepaalde zoomwaarde op. U kunt de vervolgkeuzelijst Zoom gebruiken of een geldig zoomniveau typen (geldig bereik ligt tussen 10% en 400%).
Notitie
Het wijzigen van het zoomniveau heeft geen invloed op de schaal van de afdruk van het klasdiagram.
Groeperen en sorteren van type leden aanpassen
Open en selecteer een klassediagrambestand in Class Designer-.
Klik met de rechtermuisknop op een leeg gebied op het ontwerpoppervlak en wijs groepsledenaan.
Selecteer een van de beschikbare opties:
Groeperen op soort scheidt afzonderlijke typeleden in een gegroepeerde lijst met eigenschappen, methoden, gebeurtenissen en velden. De afzonderlijke groepen zijn afhankelijk van de definitie van entiteiten: een klasse geeft bijvoorbeeld geen gebeurtenisgroep weer als er nog geen gebeurtenissen zijn gedefinieerd voor die klasse.
Groeperen op toegang verdeelt afzonderlijke typeleden in een gegroepeerde lijst op basis van de toegangsmodificatoren van het lid. Bijvoorbeeld Openbaar en Privé.
alfabetisch sorteren worden de items weergegeven waaruit een entiteit bestaat als één alfabetische lijst. De lijst wordt in oplopende volgorde gesorteerd.
Compartimenten verbergen op een model
Open en selecteer een klassediagrambestand in de Class Designer-.
Klik met de rechtermuisknop op de lidcategorie in het type dat u wilt aanpassen (selecteer bijvoorbeeld het knooppunt Methoden in een klasse.
Klik op om het compartiment te verbergen.
Het geselecteerde compartiment verdwijnt uit de typecontainer.
Afzonderlijke leden verbergen in een type
Open en selecteer een klassediagrambestand in Class Designer-.
Klik met de rechtermuisknop op het lid in het type dat u wilt verbergen.
Klik op omte verbergen.
Het geselecteerde lid verdwijnt uit de typecontainer.
Verborgen compartimenten en leden van een type weergeven
Open en selecteer een klassediagrambestand in Class Designer-.
Klik met de rechtermuisknop op de naam van het type met het verborgen compartiment.
Klik op Alle leden weergeven.
Alle verborgen compartimenten en leden worden weergegeven in de typecontainer.
Relaties verbergen
Open en selecteer een klassediagrambestand in Class Designer-.
Klik met de rechtermuisknop op de associatielijn of erfenislijn die u wilt verbergen.
Klik op Verberg de koppelingslijnen en klik op Erflijn verbergen voor erflijnen.
Klik op Alle leden weergeven.
Alle verborgen compartimenten en elementen worden weergegeven in de type-container.
Verborgen relaties weergeven
Open en selecteer een klassediagrambestand in Class Designer-.
Klik met de rechtermuisknop op het type met de verborgen koppeling of overname.
Klik op Alle leden weergeven voor associatielijnen en klik op Basisklasse weergeven of Afgeleide klassen weergeven voor erflijnen.
Verwijder een vorm uit een klassediagram
U kunt een typeshape verwijderen uit het klassediagram zonder dat dit van invloed is op de onderliggende code van het type. Het verwijderen van typeshapes uit een klassediagram is alleen van invloed op dat diagram: de onderliggende code waarmee het type en andere diagrammen worden gedefinieerd die het type weergeven, worden niet beïnvloed.
Selecteer in het klassediagram de typeshape die u uit het diagram wilt verwijderen.
Kies in het menu BewerkenVerwijderen uit diagram.
De typevorm en eventuele lijnen van associatie of overerving die zijn verbonden met de vorm, worden niet meer weergegeven in het diagram.
Een typefiguur en de bijbehorende code verwijderen
Klik met de rechtermuisknop op de vorm op het ontwerpoppervlak.
Selecteer in het contextmenu Verwijder code.
De shape wordt verwijderd uit het diagram en de onderliggende code wordt uit het project verwijderd.
Klassediagramelementen kopiëren naar een Microsoft Office-document
U kunt shapes kopiëren van een .NET-klassediagram (.cd-bestand) naar andere documenten. U krijgt een kopie van de vorm of de onderliggende code, afhankelijk van het type document waarin u deze plakt. Zie Diagrammen exporteren als afbeeldingenals u shapes uit UML-klassediagrammen in een modelproject wilt kopiëren.
Eén element kopiëren
Klik met de rechtermuisknop op de vorm en kies Afbeelding kopiëren.
Meerdere elementen kopiëren
Selecteer de shapes in het diagram dat u wilt kopiëren.
Klik met de rechtermuisknop op uw selectie en kies Afbeelding kopiëren.
Alle elementen in een klassediagram kopiëren
Klik met de rechtermuisknop op het diagramoppervlak en kies Selecteer alles, of druk op Ctrl+A.
Selecteer in het menu Bewerken de optie Afbeelding kopiëren.
U kunt ook kiezen voor Kopiëren in plaats van afbeelding kopiëren. Copy kopieert de afbeelding als een gewone bitmap. Afbeelding kopiëren kopieert de afbeelding als een vectorafbeelding, wat beter geschikt is voor de meeste Office-toepassingen.
Klassediagrammen exporteren als afbeeldingen
Als u een klassediagram wilt exporteren dat u hebt gemaakt op basis van code in een project, slaat u het diagram op als een afbeelding. Als u in plaats daarvan UML-klassediagrammen wilt exporteren, raadpleegt u Diagrammen exporteren als afbeeldingen.
Een diagram exporteren
Open het klassediagram (.cd) bestand.
Kies in het menu of het snelmenu van het diagramscherm Diagram exporteren als afbeelding.
Selecteer een diagram.
Selecteer de gewenste indeling.
Kies Exporteren om het exporteren te voltooien.
Als u geëxporteerde afbeeldingen die zijn gekoppeld vanuit andere documenten automatisch wilt bijwerken, exporteert u het diagram opnieuw in Visual Studio.
Klassendiagrammen afdrukken
U kunt een klasdiagram afdrukken met behulp van de afdrukfunctie van Visual Studio.
Een klassediagram afdrukken
Open het klassediagram.
Klik op afdrukken in het menu Bestand.
Het hele klasdiagram wordt afgedrukt. Mogelijk moet u de instellingen aanpassen in het dialoogvenster Pagina-instelling om af te drukken op het juiste formaat.
Opmerkingen toevoegen aan klassediagrammen
U kunt opmerkingenshapes gebruiken om aantekeningen te maken bij klassediagrammen. Een commentaarvorm heeft één eigenschap, Tekst, waarin u tekst kunt typen. Opmerkingen bestaan alleen op het oppervlak van het diagram en niet in de code.
Een opmerking bevindt zich in de klassediagramweergave in Class Designer-. Als u een tweede klassediagram opent in hetzelfde project, zijn opmerkingen die u in de eerste weergave hebt gemaakt, niet zichtbaar. Als u een diagram verwijdert, worden alle opmerkingen die het bevat ook verwijderd.
U kunt het formaat van een opmerkingshape wijzigen, maar u kunt geen andere aspecten van het uiterlijk wijzigen, zoals de achtergrondkleur, het lettertype of de tekengrootte.
Een opmerking toevoegen
Sleep een opmerking uit de Class Designer Toolbox naar het klasdiagram.
Klik in de nieuwe vorm voor opmerkingen in het diagram en typ de gewenste tekst.
Gebruik de muis- en sneltoetsen in het venster Class Diagram en Class Details
U kunt het toetsenbord naast de muis gebruiken om navigatieacties uit te voeren in Class Designer- en in het venster Class Details.
De muis gebruiken in Class Designer
De volgende muisacties worden ondersteund in klassediagrammen:
Combinatie van muis | Context | Beschrijving |
---|---|---|
Dubbelklik | Shape-elementen | Hiermee opent u de code-editor. |
Dubbelklik | Lollipopconnector | Vouw lollipop uit/samen. |
Dubbelklik | Label voor lollipop-connector | Roept opdracht Interface weergeven aan. |
Muiswiel | Klassediagram | Scroll verticaal. |
Shift + muiswiel | Klassediagram | Scroll horizontaal. |
Ctrl + muiswiel | Klassediagram | Zoom. |
Ctrl+Shift + klik | Klassediagram | Zoom. |
Gebruik de muis in het venster Class Details
Met behulp van een muis kunt u het uiterlijk van het venster Klassedetails en de gegevens wijzigen die op de volgende manieren worden weergegeven:
Als u op een bewerkbare cel klikt, kunt u de inhoud van die cel bewerken. Uw wijzigingen worden doorgevoerd op alle plaatsen waar gegevens worden opgeslagen of weergegeven, inclusief in het venster Eigenschappen en in broncode.
Als u op een cel van een rij klikt, wordt het venster eigenschappen weergegeven voor het element dat door die rij wordt vertegenwoordigd.
Als u de breedte van een kolom wilt wijzigen, sleept u de grens aan de rechterkant van de kolomkop totdat de kolom de gewenste breedte heeft.
U kunt compartiment- of eigenschapknooppunten uitvouwen of samenvouwen door op de pijlsymbolen links van de rij te klikken.
Het Class Details venster biedt verschillende knoppen voor het maken van nieuwe leden in de huidige klasse en voor het navigeren tussen de compartimenten van de leden in het raster van het Class Details venster.
Het toetsenbord gebruiken in Class Designer
De volgende toetsenbordacties worden ondersteund in klassediagrammen:
Sleutel | Context | Beschrijving |
---|---|---|
pijltoetsen | Binnen typografische vormen | Navigatie in boomstructuur op de inhoud van het object (omloop rond het object wordt ondersteund). Met de linker- en rechtertoetsen vouwt u het huidige item uit of in als het zich laat uitvouwen, en als dit niet mogelijk is, navigeert u naar het bovenliggende item (zie navigatie in de boomstructuur voor gedetailleerd gedrag). |
pijltoetsen | Vormen op het hoogste niveau | Bewegende vormen op het diagram. |
Shift+pijltoetsen | Binnen lettervormen | Doorlopende selectie bouwen die bestaat uit vormelementen zoals leden, geneste typen of compartimenten. Deze sneltoetsen bieden geen ondersteuning voor wrapping. |
Startpagina | Binnen in typevormen | Navigeer naar de titel van de vorm op het hoogste niveau. |
Startpagina | Vormen op het hoogste niveau | Navigeer naar de eerste shape in het diagram. |
beëindigen | Vormen binnen typen | Navigeer naar het laatste zichtbare element in de shape. |
beëindigen | Vormen op hoog niveau | Navigeer naar de laatste shape in het diagram. |
Shift+Home | Binnentypevorm | Hiermee selecteert u elementen in de shape die beginnen met het huidige item en eindigt met het bovenste item op dezelfde shape. |
Shift+ beëindigen | Vorm van binnentype | Hetzelfde als Shift+Home, maar in de bovenste richting. |
Enter- | Alle contexten | Roept de standaardactie aan op de shape, die ook beschikbaar is via dubbelklikken. In de meeste gevallen is dit View Code, maar sommige elementen definiëren het anders (lollipops, compartimentkoppen, lollipop labels). |
+ en - | Alle contexten | Als het huidige gerichte element kan worden uitgebreid, kunnen deze toetsen het element uitvouwen of samenvouwen. |
> | Alle contexten | Op elementen met subelementen wordt het element uitgeklapt als het is samengevouwen en navigeert het naar het eerste subelement. |
< | Alle contexten | Hiermee gaat u naar het bovenliggende element. |
Alt+Shift+L | Binnen in vormen + op vormen. | Hiermee gaat u naar de lollipop van de geselecteerde vorm als deze aanwezig is. |
Alt+Shift+B | Binnen vormen + op vormen. | Als de lijst met basistypen wordt weergegeven op de typeshape en meer dan één item heeft, wordt hiermee de uitbreidingsstatus van de lijst in-/uitgeschakeld (samenvouwen/uitvouwen). |
verwijderen | Over typen en opmerkingenvormen | Roept de opdracht Verwijderen uit diagram aan. |
verwijderen | Op al het andere. | Roept verwijderen uit code opdracht (leden, parameters, koppelingen, overname, lollipop labels). |
Ctrl+Verwijderen | Alle contexten | Roept opdracht Verwijderen uit code aan bij selectie. |
Tab | Alle contexten | Hiermee navigeert u naar het volgende onderliggende element binnen hetzelfde bovenliggende item (ondersteunt wrapping). |
Shift+Tab | Alle contexten | Navigeert naar het vorige kind binnen dezelfde ouder (ondersteunt doorloop). |
spatiebalk | Alle contexten | Hiermee schakelt u de selectie in op het huidige element. |
Het toetsenbord gebruiken in het venster Class Details
Notitie
De volgende sleutelbindingen bootsen de ervaring van het typen van code na.
Gebruik de volgende sleutels om door het venster Class Details te navigeren:
Sleutel | Resultaat |
---|---|
, (komma) | Als de cursor zich in een parameterrij bevindt, wordt de cursor door een komma te typen naar het veld Naam van de volgende parameter verplaatst. Als de cursor zich in de laatste parameterrij van een methode bevindt, verplaatst deze de cursor naar het <parameter toevoegen> veld, waarmee u een nieuwe parameter kunt maken. Als de cursor zich ergens anders in het venster Klassedetails bevindt, wordt er letterlijk een komma toegevoegd aan het huidige veld wanneer u een komma typt. |
; (puntkomma) of ) (haakje sluiten) | Verplaats de cursor naar het veld Naam van de volgende lidrij in het vensterraster Klassedetails. |
Tab | De cursor verplaatsen naar het volgende veld gebeurt eerst van links naar rechts en daarna van boven naar beneden. Als de cursor wordt verplaatst van een veld waarin u tekst hebt getypt, klassedetails deze tekst verwerkt en opslaat als er geen fout optreedt. Als de cursor zich in een leeg veld bevindt, zoals <parameter toevoegen>, wordt deze door Tab verplaatst naar het eerste veld van de volgende rij. |
spatiebalk | Hiermee verplaatst u de cursor naar het volgende veld en verplaatst u eerst van links naar rechts en vervolgens van boven naar beneden. Als de cursor zich in een leeg veld bevindt, zoals <parameter toevoegen>, wordt deze verplaatst naar het eerste veld van de volgende rij. Houd er rekening mee dat de spatie direct na een komma bij <> wordt genegeerd. Als de cursor zich in het veld Samenvatting bevindt, voegt het typen van een spatie een spatie toe. Als de cursor zich in de kolom Verbergen van een bepaalde rij bevindt, schakelt het typen van een spatie de waarde van het selectievakje Verbergen om. |
Ctrl+Tab | Schakel over naar een ander documentvenster. Schakel bijvoorbeeld over van het venster Class Details naar een geopend codebestand. |
Esc- | Als u begint met het typen van tekst in een veld, fungeert het drukken op Esc als een ongedaan maken-toets, waarbij de inhoud van het veld wordt teruggezet naar de vorige waarde. Als het venster Klasdetails algemene focus heeft, maar geen specifieke cel de focus heeft, zorgt het indrukken van ESC ervoor dat de focus van het venster Klasdetails wordt verplaatst. |
pijl-omhoog en pijl-omlaag | Met deze toetsen wordt de cursor verticaal verplaatst van rij naar rij in het vensterraster Klassedetails. |
linkerpijl | Als de cursor zich in de kolom Naam bevindt, wordt het huidige knooppunt in de hiërarchie samengevouwen door op de pijl-links te drukken (als deze is geopend). |
pijl naar rechts | Als de cursor zich in de kolom Naam bevindt, wordt het huidige knooppunt in de hiërarchie uitgevouwen (als deze is samengevouwen). |
Tip
Zie Sneltoetsen in Visual Studiovoor een uitgebreide lijst met sneltoetsen.