IDE Window: Code Templates/de

From Free Pascal wiki
Jump to navigationJump to search

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 und ist zu finden unter Werkzeuge -> Vorlagen

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|

wobei der senkrechte Strich den Cursor darstellt und drücken anschließend Strg+J, so wird der geschriebene Text verändert zu

  if | then begin

  end;

wobei auch hier wieder der | nicht da steht, sondern nur andeutet, wo der Cursor steht, so dass Sie sofort die Bedingung eingeben können.

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

if | then begin

end;

Hierbei gibt der geschriebene Strich '|' an, wo der Cursor nach Ersetzung steht. (Tatsächlich ist in den Werkzeugen ifb anders definiert, nämlich mit einem Macro, aber das wird erst im nächsten Beispiel erklärt)

Beispiel 2 - Verwendung von Makros

Dieses Beispiel zeigt, wie die aktuelle Code-Schablone 'ifb' erzeugt wurde.

Wählen Sie die Code-Schablone, so steht dort

 ifb - if statement

und im unteren Fenster steht

 if $Param(Conditional) then
 begin
   |
 end$$AddSemicolon()    

Zusätzlich ist "Makros einschalten" angekreuzt.

$Param(Conditional) ist das Macro Param, dem Sie Komma separierte Argumente mitgeben können. In unserem Beispiel ist nur ein Parameter, nämlich Conditional angegeben worden.

Rufen Sie nun ifb mit Strg+J auf, so erscheint der Text

 if <Conditional> then
 begin
   |
 end;    

und der Cursor steht auf dem markierten Wort Conditional. Hier können Sie nun die Bedingung eingeben. Mit Tab springt der Cursor anschließend auf das '|' nach begin, um die entsprechenden Anweisungen einzugeben.

Beispiel 3 - Weiteres Beispiel zur Verwendung von Makros

Dieses Beispiel zeigt, wie man eine Code-Schablone 'w' erzeugt, die eine Zeile mit dem aktuellen Prozedur-Namen einfügt, was Zeitersparnis bedeutet und Tippfehler vermeidet.

  • 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-Schablonen werden aufgerufen, entweder durch Strg+J oder automatisch (wenn man das so einstellt) nach bestimmten Ereignissen. Für jede Schablone kann man (wenn überhaupt) dieses Ereignis festlegen, das automatisch ausgeführt wird. Folgende Ereignisse (oder gar keines davon) kann man auswählen:

  • Zeilenende - immer dann, wenn der Benutzer [Return] oder [Enter] drückt
  • Leerzeichen - wenn der Benutzer die Leertaste drückt.
  • Wortende - wenn der Benutzer ein Wortende-Zeichen (auch ';', z. B. 'b;') benutzt
  • Zeichen nicht hinzufügen - kann mit allen vorgenannten kombiniert werden und bedeutet, dass das letzte eingegebene Zeichen wieder gelöscht wird.

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.