Visual Studio-Vorlagen erstellen

Wenn Sie ein Abonnement des Magazins 'DATENBANKENTWICKLER' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Visual Studio-Vorlagen erstellen

Wer die bisherigen Artikel verfolgt und zuvor mit Access gearbeitet hat, stellt fest, dass es einige Aufgaben gibt, die sich unter Access einfacher durchführen ließen – zum Beispiel das Ausstatten eines Formulars mit einer Datenherkunft und das Hinzufügen der gebundenen Steuerelemente zu diesem Formular. Nun gibt es auch unter Visual Studio die Möglichkeit, Assistenten selbst zu programmieren. Damit könnten wir dann selbst die Helferlein erstellen, die uns bei Routineaufgaben unterstützen – wie beispielsweise das Anlegen eines Window- oder Page-Elements auf Basis einer Entität. Doch bis dahin ist es noch ein langer Weg – in diesem Artikel schauen wir uns zunächst an, wie Sie einfache Vorlagen für Visual Studio erstellen.

Standards erweitern

Microsoft-Produkte wie das Office-Paket inklusive Access oder auch Visual Studio sind tolle Produkte, die schon eine Menge Funktionen bieten und den Benutzer bestmöglich bei seinen Aufgaben unterstützen.

Allerdings gelingt dies nicht immer so, wie man sich das vorstellt – was allerdings zum größten Teil daran liegt, dass es einfach so viele unterschiedliche Aufgaben gibt. Die Entwickler von Microsoft können einfach nicht alle denkbaren Anforderungen der Benutzer ihrer Programme vorausahnen – deshalb kommen die meisten Vorlagen in einer Minimalausstattung, die der Entwickler für seine Zwecke erweitern kann (siehe Bild 1). Das ist aber auch gar nicht weiter schlimm, denn sowohl für Office als auch für Visual Studio gibt es verschiedene Möglichkeiten, die Anwendungen um Vorlagen, benutzerdefinierte Add-Ins oder Wizards zu erweitern. Wir schauen uns in diesem Artikel an, wie Sie aus Ihren selbst gestalteten Window-, Page-, Class- und sonstigen Elementen Vorlagen erstellen können, die Sie dann beim Anlegen neuer Elemente nutzen können.

Standard-Vorlagen

Bild 1: Standard-Vorlagen

Beispiele für Vorlagen

Wenn Sie mit WPF arbeiten und Windows-Anwendungen entwickeln, haben Sie vielleicht bestimmte Einstellungen, die für alle Steuerelemente verwendet werden sollen, wenn diese nicht gerade im Steuer­element selbst überschrieben werden. Solche Eigenschaften legt man beispielsweise wie folgt in einem Element namens Window.Resources an:

<Window.Resources>
     <Style TargetType="Button">
         <Setter Property="Margin" Value="3"></Setter>
         <Setter Property="Padding" Value="5"></Setter>
         <Setter Property="VerticalAlignment" Value="Top"></Setter>
         <Setter Property="HorizontalAlignment" Value="Left"></Setter>
     </Style>
</Window.Resources>

Wenn Sie solche Einstellungen immer wieder verwenden, müssen Sie diese jeweils in neue Window- oder Page-Element integrieren. Sie können aber auch eine Vorlage erstellen, der Sie die gewünschten Elemente hinzufügen, und diese dann bei Bedarf statt des herkömmlichen Window-Elements zum Projekt hinzufügen.

Vorbereitungen

Wie aber legen wir eine solche Vorlage an und welche Einstellungen sind nötig, damit die Vorlage dann auch beim Anlegen neuer Elemente im Dialog Neues Element hinzufügen angezeigt wird? Dazu ist etwas Vorarbeit erforderlich:

  • Starten Sie Visual Studio.
  • Öffnen Sie den Dialog Neues Projekt.
  • Wechseln Sie zum Eintrag Visual C#|Extensibility oder Visual Basic|Extensibility.
  • Klicken Sie auf den einzigen Eintrag Visual Studio Erweiterungstools installieren (siehe Bild 2).
  • Erweiterungsvorlagen hinzufügen

    Bild 2: Erweiterungsvorlagen hinzufügen

  • Dies startet die Installation (siehe Bild 3).
  • Installation der Erweiterungstools

    Bild 3: Installation der Erweiterungstools

Wenn Sie, gegebenenfalls nach einem Neustart, nun wieder ein neues Projekt anlegen wollen und dazu den Dialog Neues Projekt öffnen, finden Sie im Bereich Visual C#|Extensibility oder Visual Basic|Extensibility die Einträge aus Bild 4 vor. Uns interessieren hier zunächst die folgenden beiden Einträge:

Erweiterungsvorlagen

Bild 4: Erweiterungsvorlagen

  • Visual Basic Project Template: Vorlage für einen Assistenten zum Anlegen neuer Projekte
  • Visual Basic Item Template: Vorlage für einen Assistenten zum Anlegen eines neuen Elements in Visual Studio, also etwa ein Class-, ein Window- oder eine Page-Element

Wir wollen ein neues Element anlegen, vollständige Projektvorlagen benötigen wir aktuell noch nicht. Also geben wir den Namen des neuen Projekts ein (WindowMitStandards), wählen das gewünschte Zielverzeichnis aus und klicken auf die Schaltfläche OK.

Das neue Projekt führt sich mit der Anzeige der Datei ItemWizard.vstemplate ein (siehe Bild 5). Diese enthält die Konfiguration der frisch erstellten Vorlage. Des Weiteren finden wir im Projektmappen-Explorer einige weitere Dateien:

Die Konfigurationsdatei des neuen Projekts

Bild 5: Die Konfigurationsdatei des neuen Projekts

  • Class.vb: Bisher einzige Klasse des Projekts.
  • ItemWizard.ico: Icon-Datei für die Vorlage

Die Datei Class.vb enthält den folgenden Code:

Public Class $safeitemname$
End Class

Dies lässt bereits erahnen, dass es eine Reihe von Platzhaltern gibt, die wir in die Elemente der Vorlage integrieren können – wir schauen uns diese weiter unten an. Wozu benötigen wir diese? Nun, wenn Sie beispielsweise eine neue Klasse erstellen, geben Sie im Dialog Neues Element hinzufügen ja den Namen des neuen Elements ein. Dieser wird dann für einen der Platzhalter im Code der .xaml- oder .xaml.cs/.xaml.vb-Datei eingetragen.

Vorgehensweise

Nachdem wir das Vorlagen-Projekt erstellt und gesichtet haben, stellt sich die Frage, welche Aufgaben nun vor uns liegen. Diese scheinen wie folgt zu lauten:

  • Anlegen des Elements/der Elemente und Versehen des Codes mit Platzhaltern
  • Anpassen der Konfigurationsdatei
  • Exportieren der Vorlage

Warum »scheinen wie folgt zu lauten«? Ganz einfach: Weil die Konfigurationsdatei beim Exportieren des gewünschten Elements als Vorlage überhaupt nicht berücksichtigt wird. Visual Studio stellt in den nachfolgend beschriebenen Schritten selbst eine Konfigurationsdatei auf Basis der gemachten Angaben zusammen. Sie brauchen sich also nicht die Mühe zu machen, diese direkt in Visual Studio zu manipulieren. Das erledigen wir später, wenn nötig, an anderer Stelle.

Test des Exports

Zu Testzwecken wollen wir einfach die Klasse Class.vb übernehmen und dieser als einzige Anpassung einen Kommentar hinzufügen:

Public Class $safeitemname$
     'Tolle neue Vorlagenklasse
End Class

Den Inhalt der Datei WindowsMitStandards.vstemplate wollen wir vorerst beibehalten. Nun folgt schon der entscheidende Schritt: Sie wählen aus dem Menü den Eintrag Datei|Vorlage exportieren... aus. Es erscheint der Dialog aus Bild 6, in dem Sie den zweiten Eintrag Elementvorlage auswählen und das Projekt WindowsMitStandards als Vorlagenquelle beibehalten.

Export als Elementvorlage

Bild 6: Export als Elementvorlage

Der nächste Schritt des Assistenten fragt, welches Element als Vorlagen-Element verwendet werden soll. Die Auswahl ist einfach, zumal Sie nur einen Eintrag auswählen können – nämlich die Klasse Class.vb (siehe Bild 7).

Festlegen des als Vorlage zu verwendenden Elements

Bild 7: Festlegen des als Vorlage zu verwendenden Elements

Danach erscheint ein Dialog, mit dem Sie die Verweise auswählen können, die gegebenenfalls speziell für das Element benötigt werden. Der Dialog zeigt alle im Vorlagen-Projekt referenzierten Verweise an. Wenn Sie also nachträglich noch Verweise zum Projekt hinzufügen wie etwa den Verweis auf die Bibliothek Microsoft.Office.Interop.Word, dann wird auch dieser zur Auswahl angeboten (siehe Bild 8).

Auswählen der Projektverweise

Bild 8: Auswählen der Projektverweise

Wenn Sie wie in diesem Beispiel einen Verweis auswählen, der nicht mit Visual Studio vorinstalliert wird, weist der Dialog auf eventuelle Probleme hin – in diesem Fall, weil Microsoft Word ja vielleicht gar nicht auf dem Zielrechner der Vorlage installiert ist (bei genauerem Hinsehen liefert der Dialog diesen Hinweis auch für alle standardmäßig enthaltenen Verweise).

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Ich habe die Datenschutzbestimmungen zur Kenntnis genommen.