Home » Über Delphi » Entwicklungsumgebung ab Delphi 8

Entwicklungsumgebung ab Delphi 8

Code-Editor

Das zentrale Element beim Programmieren stellt der Editor dar, in den der Quellcode eingegeben wird. Auch dabei wird der Entwickler von Delphi unterstützt:

Syntax-Highlighting

Die Lesbarkeit des Quellcodes wird dadurch erhöht, dass Schlüsselwörter fett dargestellt werden, Kommentare blau-kursiv usw. Selbstverständlich kann das der Anwender nach seinen Wünschen einstellen. Unter Tools/Editor-Optionen gibt es mehrere Einstellungsmöglichkeiten: Auf der Seite „Quelloptionen“ lässt sich das Syntaxhighlighting ein- und ausschalten sowie die Programmiersprache wählen, für das es gelten soll. Sinnvollerweise ist hier „Pascal“ auszuwählen.

Auf der Seite „Farben“ lassen sich Farbschemata auswählen. Man kann sich aber auch sein eigenes Schema zusammenklicken, indem zunächst ein Element ausgewählt und anschließend eine zugehörige Farbe eingestellt wird.

Suchen

Wird ein Projekt umfangreicher ist die Suchfunktion hilfreich. Neben einer normalen Suche innerhalb der aktuellen Quelldatei, die über Strg+F aufgerufen werden kann, bietet Delphi auch eine dateiübergreifende Suche. Sie ist im Menü „Suchen“ zu finden. Hier lässt sich auswählen, ob in allen Dateien des Projekts (egal ob sie gerade geöffnet sind), in allen geöffneten Dateien oder in allen Dateien eines Verzeichnisses gesucht werden soll. Bei der Suche lassen sich sogar reguläre Ausdrücke einsetzen.

Code-Vervollständigung

CodevervollständigungEs gibt weitere Elemente, die das Programmieren wesentlich erleichtern, z.B. die Code-Vervollständigung. Wird der Name eines Objekts eingegeben und anschließend der Punkt gedrückt, erscheint nach kurzer Zeit an dieser Stelle eine Listbox mit allen möglichen Eigenschaften oder Methoden, die nun mit Pfeiltasten und Return ausgewählt werden können. Erscheint dieses Fenster nicht, erhält man es durch die Tastenkombination Strg+Leertaste. Fängt man an, einen Begriff einzugeben, springt die Markierung in der Box an die erste passende Stelle. Ab Delphi 7 erfolgt dabei eine Filterung, so dass die Box nur noch Einträge enthält, die der bisherigen Eingabe entsprechen.

Code-Parameter

CodeparameterAuch eine große Hilfe ist die Anzeige der erwarteten Code-Parameter. So müssen Sie sich nicht die Reihenfolge und Typen von Argumenten merken, die ein Befehl erwartet. Jedes Mal, wenn nach einem Prozedur-/Funktionsaufruf eine öffnende Klammer eingegeben wird, erscheint der kleine Hinweis. Der aktuell einzugebende Parameter wird dabei fett hervorgehoben. Erscheint dieser Hinweis nicht, drücken Sie die Tastenkombination Strg+Shift+Leertaste.

Code-Schablonen

CodeschablonenDes Weiteren ist es auch möglich, häufig benötigte Code-Stücke als Schablone zu speichern. Durch Drücken der Tastenkombination Strg+J erscheint nebenstehendes Fenster, aus dem Sie einen Eintrag mit den Pfeiltasten und Return auswählen.
Über das Menü Tools/Editor-Optionen/Programmierhilfe (Delphi 7: Tools/Editor-Optionen/Quelloptionen/Vorlagendateien bearbeiten…, ab Delphi 2005: Tools/Optionen/Editor-Optionen/Quelltext-Templates bearbeiten…) können Sie weitere Code-Schablonen festlegen. Kleiner Trick dabei: Setzen Sie in dem Code-Stück an der Stelle, an der nach Einfügen der Schablone der Cursor stehen soll, ein Pipe-Zeichen („|“, AltGr+<).

Navigation im Code

CodeexplorerUm sich in größeren Units schneller zu bewegen, gibt es mehrere Möglichkeiten: Zum einen ist die Navigation über den Code-Explorer möglich, der über das Menü Ansicht/Code-Explorer eingeblendet werden kann.

CodenavigationAußerdem ist es möglich, wenn man sich im Interface-Teil einer Unit mit dem Cursor in einer Methodendefinitionszeile befindet, durch die Tasten „Strg+Shift+Pfeil nach unten“ direkt in den Implementations-Teil dieser Methode zu springen. Über „Strg+Shift+Pfeil nach oben“ gelangt man wieder zurück.

Findet man im Code einen Befehl, dessen Implementierung man sehen will, drückt man die Strg-Taste und fährt mit der Maus über dieses Wort. Daraufhin verwandelt es sich in einen Link, auf den man klicken kann. Schon befindet man sich an der gewünschten Stelle.

Durch die Pfeile in der oberen rechten Ecke des Editors bzw. in der Toolbar gelangt man wieder zum Ausgangsort zurück.

Positionsmarken

PositionsmarkeUnd schließlich ist es auch möglich, über die rechte Maustaste zehn verschiedene Positionsmarken im Code zu setzen („Positionsmarken umschalten“), um bestimmte Stellen schnell wieder finden zu können („Zu Positionsmarken gehen“). Zu beachten ist allerdings, dass diese nicht gespeichert werden und deshalb beim Neuladen eines Projekts nicht mehr verfügbar sind.

Code-Folding

Das Code-Folding ist erkennbar daran, dass sich links neben Code ein kleines Plus- oder Minuszeichen in einem Kästchen befindet – ähnlich der Baumansicht im Windows-Explorer. Ein Klick darauf klappt den daran hängenden Code-Abschnitt auseinander oder wieder zusammen. Dies trägt zu mehr Übersicht im Editor bei.

ErrorInsight

Der Editor der Delphi-IDE unterstützt bereits während der Eingabe bei der Fehlererkennung. Unbekannte Bezeichner und falsche Syntax werden mit einer roten Wellenlinie unterstrichen. Gleichzeitig taucht eine entsprechende Meldung in der Strukturansicht auf, die sich standardmäßig oben links in der IDE befindet oder über Umsch+Alt+F11 aufrufbar ist.

HelpInsight

HelpInsight bezeichnet direkt mit dem Code verknüpfte Hilfe. Beim Überfahren einer Funktion, Methode o.ä. wird – sofern vorhanden – die dazu passende Dokumentation angezeigt.

Refactoring

Refactoring ist ein Oberbegriff, der das Umgestalten von Quellcode bezeichnet, um ihn besser wartbar und übersichtlicher zu halten. In der IDE von Delphi werden folgende Refactoring-Funktionen angeboten:

Umbenennen

Gelegentlich kommt es vor, dass man eine Methode umbenennen muss, weil ihr Name nicht aussagekräftig genug ist oder sie längst nicht mehr das tut, wonach sie ursprünglich benannt wurde. Mit Diamondback ist kein Suchen/Ersetzen mehr nötig. Man markiert den Methodennamen und wählt „Methode umbenennen“. Es erscheint ein Fenster, das den neuen Methodennamen abfragt. Man hat hier zusätzlich die Möglichkeit, sich zuerst alle Stellen anzeigen zu lassen, an denen der Methodenname verwendet wird.

Deklarieren

Variable deklarierenDie Refactoring-Funktionen „Variable deklarieren“ und „Feld deklarieren“ nehmen eine lästige Altagsarbeit ab: Man schreibt Code und verwendet dabei Variablennamen, die noch nicht deklariert sind. Die Delphi-IDE kennzeichnet diese rot (Error Insight). Ein Rechtsklick darauf und die Wahl von „Refactoring/Variable deklarieren“ sorgt für Abhilfe: Ein Dialogfenster fragt nach dem Typ der Variable und setzt auf Wunsch gleich einen initialen Wert.

Methode extrahieren

Werden mehrere Zeilen einer Methode markiert, lassen sich diese in eine eigene neue Methode extrahieren. Eine Auswahl des Kontextmenüpunkts „Refactoring/Methode extrahieren“ öffnet einen Dialog, der bereits die neue Methode anzeigt. Nur ein Name muss noch vergeben werden.

Resource-String extrahieren

Wird ein String im Quellcode markiert, lässt sich dieser in einen Resource-String extrahieren. Dieses Feature soll der Vorbereitung auf die Internationalisierung eines Programms dienen.

Unit finden

Dieses Feature hört sich erst ziemlich unspektakulär an. Doch steckt eine sehr hilfreiche Funktion dahinter. Wer hat nicht schon einmal eine Konstante wie z.B. mbYes bei MessageDlg verwendet und wusste nicht auf anhieb, welche Unit dafür eingebunden werden muss? Bisher war Stöbern in der Hilfe angesagt. Ab sofort hilft dieses neue Feature. Je mehr in das Eingabefeld eingetippt wird, umso mehr reduziert sich die Menge der angezeigten Symbole in der Liste darunter, bis man schließlich fündig geworden ist. Über einen Mausklick lässt sich die zugehörige Unit direkt in die Uses-Klausel übernehmen. Sogar eine Auswahl zwischen interface- und implementation-Teil ist möglich.

Historie

Die IDE verwaltet auf simple Art und Weise nun auch verschiedene Versionsstände der einzelnen Quelldateien. Es ist dafür keine zusätzliche Software (wie z.B. CVS) notwendig. Delphi legt dafür ein History-Verzeichnis an, in dem die Dateien gesichert werden. So lassen sich die einzelnen Stände übersichtlich darstellen. Die Änderungen zwischen zwei Versionsständen lassen sich farblich hervorheben:

Historie

SyncEdit

Das SyncEdit-Feature sorgt dafür, dass innerhalb eines markierten Bereichs Änderungen an einem Variablennamen synchron durchgeführt werden. Dazu markiert man einen Codeblock und klickt auf den Button, der daraufhin links erscheint.

Nun kann der Variablenname an einer Stelle geändert werden. Alle anderen Vorkommen werden gleichzeitig verändert.

Syncedit