Gewusst wie: Definieren eines benutzerdefinierten Elements für die Modellerstellungstoolbox
Um Ihnen die Erstellung eines Elements oder einer Gruppe von Elementen nach einem häufig verwendeten Muster zu erleichtern, können Sie der Toolbox mit den Modellierungsdiagrammen in Visual Studio Ultimate neue Tools hinzufügen. Sie können diese Toolboxelemente an andere Visual Studio Ultimate-Benutzer verteilen.
Sie können z. B. ein benutzerdefiniertes Tool einrichten, mit dem Sie folgende Elemente erstellen können:
Ein Paket, das mit dem .NET-Profil verknüpft ist, und eine Klasse mit dem .NET-Stereotyp.
Ein Klassenpaar, das durch eine Zuordnung verknüpft ist, um das Beobachtermuster darzustellen.
Sie können diese Methode verwenden, um Elementtools zu erstellen. Das heißt, Sie können Tools erstellen, die Sie aus der Toolbox auf ein Diagramm ziehen. Es ist nicht möglich, Konnektortools zu erstellen.
Definieren eines benutzerdefinierten Modellierungstools
So definieren Sie ein benutzerdefiniertes Modellierungstool
Erstellen Sie ein UML-Diagramm, das ein Element oder eine Gruppe von Elementen enthält.
Zwischen diesen Elementen können Beziehungen eingerichtet sein, und sie können über untergeordnete Elemente wie Ports, Attribute, Vorgänge oder Pins verfügen.
Ändern Sie im Projektmappen-Explorer den Namen des Diagramms in den Namen, den Sie für das neue Tool verwenden möchten.
Speichern Sie das Diagramm.
Kopieren Sie im Windows-Explorer die zwei Diagrammdateien in den folgenden Ordner oder Unterordner:
YourDocuments**\Visual Studio 2010\Architecture Tools\Custom Toolbox Items**
Erstellen Sie diesen Ordner, falls er noch nicht vorhanden ist. Möglicherweise müssen Sie sowohl Architecture Tools als auch Custom Toolbox Items erstellen.
Kopieren Sie beide Diagrammdateien. Der Name einer Datei endet auf "…diagram", und der Name der anderen Datei endet auf "…diagram.layout".
Sie können beliebig viele benutzerdefinierte Tools erstellen. Verwenden Sie ein Diagramm für jedes Tool.
(Optional) Erstellen Sie eine .tbxinfo-Datei, wie unter Definieren der Eigenschaften von benutzerdefinierten Tools beschrieben, und fügen Sie diese dem gleichen Verzeichnis hinzu. Sie können dann ein Toolboxsymbol, eine QuickInfo usw. definieren.
- Eine einzelne .tbxinfo-Datei kann verwendet werden, um mehrere Tools zu definieren. Die Datei kann auf Diagrammdateien in Unterordnern verweisen.
Starten Sie Visual Studio neu. Das zusätzliche Tool wird in der Toolbox für den entsprechenden Diagrammtyp angezeigt.
Elemente, die vom benutzerdefinierten Tool repliziert werden
Ein benutzerdefiniertes Tool repliziert die meisten Funktionen des Quelldiagramms:
Namen. Wenn ein Element über die Toolbox erstellt wird, wird dem Ende des Namens bei Bedarf eine Zahl hinzugefügt, um zu verhindern, dass in einem Namespace doppelte Namen auftreten.
Farben, Größen und Formen
Stereotype und Paketprofile
Eigenschaftswerte, z. B. "Is Abstract"
Verknüpfte Arbeitsaufgaben
Multiplizitäten und andere Eigenschaften von Beziehungen
Relative Positionen von Formen
Die folgenden Funktionen bzw. Merkmale werden in einem benutzerdefinierten Tool nicht beibehalten:
Einfache Formen. Hierbei handelt es sich um Formen, die sich nicht auf Modellelemente beziehen und in einigen Diagrammtypen gezeichnet werden können.
Konnektorrouting. Wenn Sie Konnektoren manuell weiterleiten, wird das Routing bei der Verwendung des Tools nicht beibehalten. Die Positionen einiger geschachtelter Formen (z. B. Anschlüsse) in Bezug auf ihre Besitzer werden nicht beibehalten.
Definieren der Eigenschaften von benutzerdefinierten Tools
Eine Toolboxinformationsdatei (.tbxinfo) ermöglicht es Ihnen, einen Toolboxnamen, ein Symbol, eine QuickInfo, eine Registerkarte und ein Hilfeschlüsselwort für ein oder mehrere benutzerdefinierte Tools anzugeben. Geben Sie einen beliebigen Namen für die Datei ein, z. B. MyTools.tbxinfo.
Die allgemeine Form der Datei ist wie folgt:
<?xml version="1.0" encoding="utf-8" ?>
<customToolboxItems xmlns="https://schemas.microsoft.com/visualstudio/2010/ArchitectureTools/CustomToolboxItems">
<customToolboxItem fileName="MyObserverTool.classdiagram">
<displayName>
<value>Observer Pattern</value>
</displayName>
<tabName>
<value>UML Class Diagram</value>
</tabName>
<image><bmp fileName="ObserverPatternIcon.bmp"/></image>
<f1Keyword>
<value>ObserverPatternHelp</value>
</f1Keyword>
<tooltip>
<value>Create a pair of classes</value>
</tooltip>
</customToolboxItem>
</customToolboxItems>
Der Wert jedes Elements kann wie folgt lauten:
- Wie im Beispiel gezeigt, <bmp fileName="…"/> für das Toolboxsymbol und <value>string</value> für die anderen Elemente.
- oder -
<resource fileName="Resources.dll"
baseName="Observer.resources" id="Observer.tabname" />
In diesem Fall geben Sie eine kompilierte Assembly an, in der die Zeichenfolgenwerte als Ressourcen kompiliert wurden.
Fügen Sie für jedes Toolboxelement, das Sie definieren möchten, einen <customToolboxItem>-Knoten hinzu.
In der .tbxinfo-Datei gibt es die folgenden Knoten. Jeder Knoten verfügt über einen Standardwert.
Knotenname |
Definiert |
---|---|
displayName |
Name des Toolboxelements |
tabName |
Toolboxregisterkarte, auf der das Element angezeigt werden soll. Sie können entweder den Namen der normalen Registerkarte für diesen Typ von Diagramm oder einen separaten Namen angeben. |
image |
Der Speicherort der Bitmapdatei (.bmp), die eine Höhe und Breite von 16 Bit und eine Farbtiefe von 24 Bit haben muss. |
f1Keyword |
Das Schlüsselwort für ein Hilfethema. |
tooltip |
Eine QuickInfo für dieses Tool. |
Sie können die Bitmapdatei in Visual Studio bearbeiten und die Höhe und Breite im Eigenschaftenfenster auf 16 festlegen.
Tipp
Wenn Sie damit beginnen, eine .tbxinfo-Datei zu verwenden, nachdem Sie mit Diagrammdateien allein experimentiert haben, kann es sein, dass die Toolbox sowohl die alten als auch die neuen Versionen eines Toolboxelements enthält. Dies kann auch auftreten, wenn der Name der Diagrammdatei in der .tbxinfo-Datei falsch geschrieben ist. Klicken Sie in diesem Fall mit der rechten Maustaste auf ein Toolboxelement, und klicken Sie dann auf Toolbox zurücksetzen. Die benutzerdefinierten Toolboxelemente werden ausgeblendet. Wenn Sie Visual Studio neu starten, werden die richtigen benutzerdefinierten Elemente angezeigt.
Verteilen von Toolboxelementen in einer Visual Studio-Erweiterung
Sie können Toolboxelemente an andere Visual Studio-Benutzer verteilen, indem Sie sie in einer Visual Studio-Erweiterung (VSIX) verpacken. Sie können Befehle, Profile und andere Erweiterungen in der gleichen VSIX-Datei verpacken. Weitere Informationen finden Sie unter Bereitstellung von Erweiterungen für Visual Studio.
Normalerweise erstellen Sie eine Visual Studio-Erweiterung mithilfe einer VSIX-Projektvorlage. Dazu muss Visual Studio SDK installiert sein.
So fügen Sie einer Visual Studio-Erweiterung ein Toolboxelement hinzu
Erstellen und testen Sie eines oder mehrere benutzerdefinierte Tools.
Erstellen Sie eine .tbxinfo-Datei, die auf die Tools verweist.
Öffnen Sie ein vorhandenes Visual Studio-Erweiterungsprojekt.
- oder -
Definieren Sie ein neues Visual Studio-Erweiterungsprojekt.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Erweitern Sie im Dialogfeld Neues Projekt unter Installierte Vorlagen den Knoten Visual C#, klicken Sie auf Erweiterungen, und klicken Sie dann auf VSIX Project. Legen Sie den Projektnamen fest, und klicken Sie auf OK.
Fügen Sie dem Projekt die Toolboxdefinitionen hinzu. Schließen Sie die .tbxinfo-Datei, die Diagrammdateien, Bitmapdateien und alle Ressourcendateien ein, und stellen Sie sicher, dass sie im VSIX-Projekt enthalten sind.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, zeigen Sie auf Hinzufügen, und klicken Sie anschließend auf Vorhandenes Element. Legen Sie im Dialogfeld die Einstellung Objekttyp: Alle Dateien fest. Suchen Sie nach den Dateien, wählen Sie alle Dateien aus, und klicken Sie anschließend auf Hinzufügen.
Tipp
In diesem Projekt können Sie die Diagrammdateien im Modell-Editor nicht öffnen.
Legen Sie die folgenden Eigenschaften aller soeben hinzugefügten Dateien fest. Sie können die Eigenschaften gleichzeitig festlegen, indem Sie im Projektmappen-Explorer alle gewünschten Dateien auswählen. Beachten Sie Folgendes: Die Eigenschaften der anderen Dateien im Projekt dürfen nicht geändert werden.
In Ausgabeverzeichnis kopieren = Immer kopieren
Buildvorgang = Inhalt
Include in VSIX = True
Öffnen Sie source.extension.vsixmanifest. Die Datei wird im Erweiterungsmanifest-Editor geöffnet.
Fügen Sie unter Inhalt eine Zeile hinzu, die die benutzerdefinierten Tools beschreibt. Klicken Sie auf Inhalt hinzufügen, und legen Sie dann die Felder im Dialogfeld wie folgt fest:
Inhaltstyp = Benutzerdefinierter Erweiterungstyp
Typ = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems
Pfad = Datei in Projekt. Wählen Sie die .tbxinfo-Datei aus, z. B. MyTools.tbxinfo
Sie können unter Produktname und in den anderen Feldern die gewünschten Angaben machen.
Erstellen Sie das Projekt.
Öffnen Sie in Windows-Explorer den Ordner .\bin\Debug oder .\bin\Release, um die .vsix-Datei zu suchen. Dies ist eine Visual Studio-Erweiterungsdatei. Sie kann auf dem Computer installiert und auch an andere Visual Studio-Benutzer gesendet werden.
So installieren Sie benutzerdefinierte Tools über eine Visual Studio-Erweiterung
Doppelklicken Sie im Windows-Explorer auf die .vsix-Datei, oder öffnen Sie diese in Visual Studio.
Klicken Sie im angezeigten Dialogfeld auf Installieren.
Um die Erweiterung zu deinstallieren oder vorübergehend zu deaktivieren, öffnen Sie den Erweiterungs-Manager im Menü Extras.
Lokalisierung
Sie können eine Erweiterung erstellen, die Toolnamen und QuickInfos nach der Installation auf einem anderen Computer in der Sprache des Zielcomputers anzeigt.
So stellen Sie Versionen des Tools in mehr als einer Sprache bereit
Erstellen Sie ein Visual Studio-Erweiterungsprojekt, das ein oder mehrere benutzerdefinierte Tools enthält.
Verwenden Sie in der .tbxinfo-Datei die Ressourcendateimethode, um für das Tool displayName, die tabName-Toolbox und die QuickInfo zu definieren. Erstellen Sie eine Ressourcendatei, in der diese Zeichenfolgen definiert sind, kompilieren Sie diese zu einer Assembly, und verweisen Sie in tbxinfo-Datei darauf.
Erstellen Sie zusätzliche Assemblys, die Ressourcendateien mit Zeichenfolgen in anderen Sprachen enthalten.
Fügen Sie jede zusätzliche Assembly in einen Ordner ein, dessen Name der Kulturcode für die Sprache ist. Fügen Sie beispielsweise eine Version der Assembly für Französisch in einen Ordner mit dem Namen fr ein.
Sie sollten einen neutralen Kulturcode verwenden, also in der Regel zwei Buchstaben. Verwenden Sie keine speziellen Kulturcodes wie fr-CA. Weitere Informationen zu Kulturcodes finden Sie unter CultureInfo.GetCultures-Methode (möglicherweise in englischer Sprache). Dort ist eine vollständige Liste der Kulturcodes angegeben.
Erstellen Sie die Visual Studio-Erweiterung, und verteilen Sie diese.
Wenn die Erweiterung auf einem anderen Computer installiert wird, wird jeweils automatisch die Version der Ressourcendatei für die lokale Kultur des Benutzers geladen. Wenn Sie keine Version für die Kultur des Benutzers bereitgestellt haben, werden die Standardressourcen verwendet.
Sie können diese Methode nicht verwenden, um andere Versionen des Prototypdiagramms zu installieren. Die Namen von Elementen und Konnektoren sind in jeder Installation gleich.
Andere Toolboxvorgänge
In Visual Studio können Sie normalerweise die Toolbox durch das Umbenennen von Tools, das Verschieben der Tools in andere Toolboxregisterkarten und durch das Löschen der Tools personalisieren. Diese Änderungen bleiben jedoch nicht für benutzerdefinierte Modellierungstools erhalten, die mit den in diesem Thema beschriebenen Verfahren erstellt wurden. Wenn Sie Visual Studio neu starten, werden die benutzerdefinierten Tools wieder mit ihren definierten Namen und Toolboxspeicherorten angezeigt.
Die benutzerdefinierten Tools werden auch ausgeblendet, wenn Sie den Befehl Toolbox zurücksetzen ausführen. Sie werden jedoch wieder angezeigt, wenn Sie Visual Studio neu starten.
Siehe auch
Konzepte
Gewusst wie: Definieren eines Profils zum Erweitern von UML
Weitere Ressourcen
Erweitern von UML-Modellen und Diagrammen
Gewusst wie: Definieren eines Menübefehls in einem Modellierungsdiagramm
Gewusst wie: Definieren von Validierungseinschränkungen für UML-Modelle