Live-Vorlagen
Nach oben zu Einführung in RAD Studio
Live-Vorlagen sind wiederverwendbare Skeleton-Codeanweisungen. Im Quelltext-Editor stehen eine Reihe von Live-Vorlagen für Delphi und C++ zur Verfügung.
Durch Doppelklicken auf den Vorlagennamen im Vorlagenfenster können Sie eine dieser vordefinierten Code-Skeletons in Ihren Code einfügen. Sie können auch den Vorlagennamen eingeben und zum Einfügen der Vorlage die Tab-Taste drücken. Die XML-Dateien für die Live-Vorlagen von RAD Studio befinden sich im Verzeichnis {Path|C:\Program Files (x86)\Embarcadero\Studio\21.0\ObjRepos\de\Code_Templates}}.
Im Vorlagenfenster können Sie auch eigene Codevorlagen hinzufügen. Die Namen der Live-Vorlagen können entweder den Code in der Vorlage (wie z.B. class) oder das erste Wort im Code (wie z.B. try) repräsentieren, und einige Vorlagennamen sind ähnliche (aber nicht genaue) Versionen von Wörtern, die Sie eingeben könnten (z.B. forr). Eigene Vorlagen (und von Add-ins von Fremdherstellern bereitgestellte Vorlagen) werden standardmäßig im Verzeichnis C:\Users\<Benutzer>\Documents\Embarcadero\Studio\code_templates
gespeichert.
Inhaltsverzeichnis
Sprungpunkte
Sprungpunkte sind Platzhalter für Eingabefelder, die die Navigation zwischen Elementen in einer Vorlage mit den Tasten Tab
und Umschalt+Tab
ermöglichen.
Wenn in einer Vorlage ein oder mehrere bearbeitbare Sprungpunkte vorhanden sind, wechselt die Vorlage automatisch nach Einfügen in den Code in den Modus SyncEdit. Durch Drücken von Esc
, Eingabe
oder Tab
im letzten Sprungpunkt wird der Modus SyncEdit beendet und der Quelltext-Editor wieder im regulären Bearbeitungsmodus ausgeführt.
In der Vorlage arrayd (Delphi-Array) befinden sich beispielsweise vier Sprungpunkte mit den Namen name (TMyArray), min (0), max (10) und type (Integer). Der erste Sprungpunkt ist markiert und aktiv:
Öffnen Sie zum Vergleichen des XML-Codes von arrayd mit der arrayd-Live-Vorlage das Fenster Vorlagen, wählen Sie die Vorlage arrayd aus, und klicken Sie auf Quelltextvorlage bearbeiten.
Beispiele: Die try -Vorlagen für Delphi und C++
In diesem Abschnitt werden die try-Vorlagen für Delphi und für C++ vorgestellt:
Sprache | Vorlagenname | Vorlagenbeschreibung |
---|---|---|
Delphi |
try |
try finally (mit Create/Free) |
C++ |
try |
try catch |
Delphi-Vorlage try
Die folgende Abbildung zeigt das Fenster Vorlagen und die Popup-Kurzfassung des Codes, die angezeigt wird, wenn Sie die Maus über die Delphi-Vorlage try führen. Die vertikalen Linien ("|") sind Sonderzeichen, mit denen die Sprungpunkte in der Vorlage abgeschlossen werden (dazu kann auch das Zeichen $ verwendet werden):
Die folgende Abbildung zeigt die Vorlage, die im Quelltext-Editor eingefügt wird, wenn Sie die Vorlage try für Delphi aktivieren. Die hervorgehobenen oder umrahmten Sprungpunkte sind im Sync-Bearbeitungsmodus aktiv, damit Sie alle Vorkommen eines Sprungpunktes auf einmal bearbeiten können:
Im Folgenden finden Sie die XML-Datei für die Delphi-Quelltextvorlage try.xml mit der Beschreibung try finally (mit Create/Free). Diese Vorlage enthält:
- Die Definitionen für drei Sprungpunkte ("variable", "control" und "createparms")
- Den Befehl script, der dem Sprungpunkt control die Programmierhilfe zuordnet
<?xml version="1.0" encoding="utf-8" ?>
<codetemplate xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
version="1.0.0">
<template name="'''try'''" surround="'''true'''" invoke="'''auto'''">
<point name="'''variable'''">
<text>
'''MyClass'''
</text>
<hint>
'''Variable name'''
</hint>
</point>
<point name="control">
<script language="'''Delphi'''">
'''InvokeCodeCompletion;'''
</script>
<text>
'''Component'''
</text>
<hint>
'''Class name'''
</hint>
</point>
<point name="createparms">
<hint>
'''constructor parameters'''
</hint>
<text>
'''(Self)'''
</text>
</point>
<description>
'''try finally (with Create/Free)'''
</description>
<author>
'''Embarcadero'''
</author>
<script language="'''Delphi'''" onenter="'''false'''" onleave="'''true'''">
'''DeclareVariable(|variable|);'''
</script>
<code language="'''Delphi'''" context="'''methodbody'''" delimiter="|"><![CDATA['''|variable| := T|control|.Create|createparms|;
'''try
'''|selected||*||end|
'''finally
'''|*||variable|.Free;
'''end;'''
''']]>
</code>
</template>
</codetemplate>
Der Quelltext für die Vorlage befindet sich im <code>-Element in <![CDATA[ ... ]]>
. In der oben gezeigten Vorlage ist das erste Element ein Sprungpunkt mit dem Namen variable:
|variable|
Die Vorlage enthält auch die Sonderzeichen für den Einzug von Zeilen im Quelltext:
|*|
Verwenden Sie für einen doppelten Einzug:
|*||*|
C++-Vorlage try
Die folgende Abbildung zeigt das Fenster Vorlagen und die Popup-Kurzfassung des Codes, die angezeigt wird, wenn Sie die Maus über die C++-Vorlage try führen. Das Dollarzeichen ($) ist ein Sonderzeichen, mit dem definierte und integrierte Sprungpunkte abgeschlossen werden (| kann auch verwendet werden):
Die folgende Abbildung zeigt die Live-Vorlage, die im Quelltext-Editor eingefügt wird, wenn Sie die C++-Vorlage try (mit Beschreibung = "try catch") aktivieren:
Dies ist der eigentliche XML-Code für die C++-Vorlage try:
<?xml version="1.0" encoding="utf-8" ?>
<codetemplate xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"
version="1.0.0">
<template name="'''try'''" surround="'''true'''" invoke="'''auto'''">
<point name="'''except'''">
<text>
...
</text>
<hint>
'''exception class to catch'''
</hint>
</point>
<description>
'''try catch'''
</description>
<author>
'''Embarcadero'''
</author>
<code language="'''C'''" context="'''methodbody'''"><![CDATA['''try {
'''$selected$$*$$end$
'''} catch ($except$) {
'''}'''
]]>
</code>
</template>
</codetemplate>
Der Quelltext für die Vorlage befindet sich im <code>-Element in <![CDATA[ ... ]]>
.
In dieser Vorlage wird als Trennzeichen das Dollarzeichen ($) verwendet. In der Delphi-Vorlage try wurde dafür die vertikale Linie (|) verwendet. Mit den folgenden Sonderzeichen werden Zeilen im Quelltext eingezogen:
$*$
Verwenden Sie für einen doppelten Einzug:
$*$$*$
XML-Beschreibung für Live-Vorlagen
Live-Vorlagen sind XML-Dateien, die das folgende übergeordnete Element enthalten können:
<codetemplate xmlns="http: ... //schemas.borland.com/Delphi/2005/codetemplates" version="1.0.0"> ...
</codetemplate>
Das Element <codetemplate> enthält die folgenden untergeordneten Elemente:
- <template> </template> hat vier Attribute ("name", "invoke", "inplace", "surround"):
<template name="class" invoke="manual/auto">
- "name" (Name der Vorlage, erforderlich)
- "invoke" (Aufrufart der Vorlage). Mögliche Werte sind {auto|manual|none}:
- auto = drücken Sie die Taste LEER oder TAB
- manual = drücken Sie die Taste TAB
- none = drücken Sie STRG+J, STRG+Leer oder verwenden Sie das Vorlagenfenster
- inplace – (Boolean) gibt eine Erweiterungsvorlage an
- surround – (Boolean) die Vorlage umgibt den ausgewählten Text
- <description>
Text
</description> – ein Element der Vorlage – enthält Text, der mit dem Vorlagennamen im Vorlagenfenster angezeigt wird - <author>
Autor-Name
</author> – ein Element der Vorlage - <point> </point> – ein Element der Vorlage (wie "description" und "author"), beschreibt einen Platzhalter für ein Eingabefeld, hat einen Namen (erforderlich) und enthält drei Attribute (text|hint|script):
- text – Attribut von "point", enthält den Text, der in einem Sprungpunkt erscheint
- hint – Attribut von "point", enthält einen Popup-Hinweis
- script – Attribut von "point" oder "template", enthält meistens
invoke_code_completion()
, hat ein Sprachattribut:- language='Delphi' oder language='C'
- Weitere Sprachen und Funktionsaufrufe werden unterstützt. Nähere Informationen dazu finden Sie unter Live Templates Technical Info.
- language='Delphi' oder language='C'
- <code> </code> – ein Element der Vorlage; hat drei Attribute:
- language – kann 'C' oder 'Delphi' sein (erforderlich)
- context – legt fest, wann die Vorlage verfügbar ist; z.B.
typedecl - type |
odermethodbody - begin | end
- delimiter='|' oder '$' (weist einen Sprungpunkt im Quelltext aus)
- Enthält:
<![CDATA[
The actual code goes here.
]]>
Script-Funktionsaufrufe
Eine Vielzahl von Funktionsaufrufen kann in einem script-Element verwendet werden, das entweder einem "point" oder der Vorlage selbst zugeordnet ist.
Die folgende Liste enthält vorhandene Vorlagen, die jeweils einen script-Aufruf enthalten:
- language="Delphi":
- InvokeClassCompletion
- InvokeCodeCompletion (siehe delphi\trycf.xml)
- PopulateCase(|expression|) (siehe delphi\case.xml)
- DeclareVariable(|variable|) (siehe delphi\trycf.xml)
- RemoveTemplate (siehe delphi\inlinevar.xml)
- ValidateForTemplate (siehe delphi\fors.xml)
- language="C":
- invoke_code_completion (siehe c\whiles.xml)
- populate_case($expr$); (siehe c\switch.xml)