IDE Window: Code Templates/de

From Free Pascal wiki

Deutsch (de) English (en) español (es) suomi (fi) français (fr)

Was sind Code-Schablonen?

Code-Schablonen sind Texte mit einem Kurzzeichen. Zum Beispiel: Sie können im Quelltext-Editor 'cl' tippen und dann Strg+J tippen, um die Code-Schablonen aufzurufen, die mit 'cl' beginnen. Dieses Feature ist ein großer Zeitsparer.

Dieser Dialog erlaubt Ihnen, existierende Schablonen zu bearbeiten oder eigene hinzuzufügen.

Die Texte können Makros enthalten. Und Sie können ihre eigenen Makros hinzufügen durch Erstellen eines Entwicklungszeit-Packages und Verwendung der macrointf.pas aus dem IDEIntf Package.

Beispiel 1 - ifb

Tippen Sie

  ifb|

Der senkrechte Strich stellt den Cursor dar. Drücken Sie Strg+J. Es wird erweitert zu

  if | then begin

  end;

Der senkrechte Strich stellt wieder den Cursor dar. Sie können sehen, dass der Cursor auch bewegt wurde.

Diese Schablone wird 'ifb' genannt und ist wie folgt definiert:

if | then begin

end; 

Dieses Mal ist der Strich '|' ein echtes Zeichen. Es definiert die Cursorposition nach dem Einfügen der Schablone.

Beispiel 2 - Verwendung von Makros

Dieses Beispiel zeigt, wie man eine Code-Schablone 'w' erzeugt, die eine Zeile mit dem aktuellen Prozedur-Namen einfügt. Für lange Namen kann dies eine wirkliche Zeitersparnis bringen und Tippfehler lassen sich so auch vermeiden.

  • Klicken Sie auf die 'Hinzufügen' Schaltfläche. Ein Dialog erscheint. Setzen Sie Token auf 'w' und Kommentar auf 'writeln(ProcName)', dann klicken Sie auf Hinzufügen.
  • Ihr neuer Eintrag wurde zur Listbox hinzugefügt.
  • In dem Feld darunter tragen Sie ein
 writeln(' ',|);
  • Der Strich ist wirklich ein Strich und definiert die neue Cursorposition. Jetzt platzieren Sie den Cursor nach dem ersten ' und klicken auf die 'Insert macro' Schaltfläche. Ein Dialog erscheint, der alle verfügbaren Code Makros zeigt. Wählen Sie 'ProcedureName' und klicken auf 'Insert Macro'. Sie sollten jetzt haben:
 writeln('$ProcedureName() ',|);
  • Klicken Sie auf 'OK' zum Speichern und Beenden des Code-Schablone Dialogs.
  • Bewegen Sie den Cursor in einen Methodenrumpf und tippen 'w':

Zum Beispiel:

 procedure TForm1.FormDestroy(Sender: TObject);
 begin
   w|
 end;

Der Strich stellt hier den blinkenden Cursor dar, nicht ein Zeichen.

  • Drücken Sie Strg+J. Sie erhalten:
 procedure TForm1.FormDestroy(Sender: TObject);
 begin
   writeln('TForm1.FormDestroy ',|);
 end;

Template Autocompletion

Code templates are invoked either by using the Strg+J shortcut, or (if you set this option) automatically following particular events. For each template you can specify the event (if any) that automatically invokes it. You can enable none, some or all of the following events:

  • line break - insert the template whenever the user presses the [Return] or [Enter] key
  • space - insert the template whenever the user presses the [Space bar].
  • word end - whenever the user presses a word-ending key. For example, when typing 'b;' the code template 'b' can be executed.
  • do not add character - this option can be combined with any of the above. When enabled the triggering key itself will not be inserted. For example when the option 'space' is enabled and the user triggers a template insertion by pressing the space bar, the space character itself will not be inserted in the source editor.

Makros

Makros haben die Form $(MacroName) oder $MacroName(Param1,...). Makros können verschachtelt sein.

Eigene Makros definieren

Eigene Makros können über Entwicklungszeit-Packages registriert werden. Siehe ide/codetemplatesdlg.pas Prozedur CreateStandardCodeMacros für Beispiele.

DCI-Dateiformat

Die Vorgabe-dci-Datei der IDE ist pcp/lazarus.dci, wobei pcp für Ihren primären Konfigurationspfad (primary config path) steht. Unter Linux wäre das z.B. $HOME/.lazarus. Kann die Datei nicht gefunden werden erstellt die IDE sie neu durch Kopieren der Datei ide/lazarus_dci_file.dci.

Eine dci-Datei ist eine Textdatei mit einer Liste von Schablonen.

Jede Schablone startet mit der Zeile [Name | Beschreibung]. Die darauf folgenden Zeilen bilden die Schablonen-Werte.