IDE Window: IDE Options Dialog/de

From Free Pascal wiki

Deutsch (de) English (en)

Contents

Umgebungseinstellungen

Dateien

Höchstens gemerkte Dateien

Die maximale Anzahl von Einträgen im Wieder öffnen Menü.

Höchstens gemerkte Projektdateien

Die maximale Anzahl von Einträgen im Letzte Projekte Menü.

Zuletzt geladenes Projekt beim Start öffnen

Aktiviert das automatische Wiederöffnen des zuletzt bearbeiteten Projekts beim Start der IDE

Lazarus-Verzeichnis

Tragen Sie hier das Verzeichnis des Lazarus-Quellenverzeichnisses ein. Das Lazarus-Quellenverzeichnis enthält Verzeichnisse wie 'ide', 'debugger', 'converter', 'components' und 'lcl'. Es wird verwendet, um die Quellen (.pas) der LCL und der Komponenten zu finden.

Compilerdateiname (z.B. fpc)

Hier muss der vollständige Dateiname des verwendeten Compilers stehen. Zum Beispiel /usr/bin/ppc386 unter Linux oder /usr/bin/ppcppc unter Mac OS X oder C:\pp\ppc386.exe unter Windows. Der Dateiname hängt davon ab, wie der Compiler installiert wurde.

FPC-Quelltextverzeichnis

Stellen Sie hier das Verzeichnis des FreePascal-Quellenverzeichnisses ein. Das Quellenverzeichnis enthält Verzeichnisse wie 'compiler', 'packages', 'rtl' und 'fcl'. Typischerweise ist das unter Linux/BSD/Mac OS X /usr/share/fpcsrc/.

Anmerkung: Verwechseln Sie dies nicht mit dem FPC unit/library Verzeichnis (.../units/i386-win32/), das nur die kompilierten .ppu Dateien enthält und eine völlig andere Struktur hat.

Pfad zum Make-Programm

Tragen Sie hier den Pfad zum 'make' Werkzeug ein. Wenn Sie das Feld freilassen, wird die IDE die Voreinstellung verwenden. Viele Projekte benutzen das 'make' Werkzeug um umfangreiche Quellen zu übersetzen und es ist deshalb auf fast allen Linux und Mac OS X Systemen standardmäßig installiert. Der Lazarus-Installer für Windows installiert auch eine Version. Verwenden Sie unter BSD gmake. Weitere Informationen finden Sie hier: make

Delphi installiert ebenfalls eine make Version, die nicht kompatibel zu gnu make ist und daher nicht für Lazarus verwendet werden kann. Lassen Sie das Feld nicht frei, wenn sich die make Version von Delphi im Pfad befindet.

Verzeichnis für das Anlegen von Testprojekten

Wenn ein neu erschaffenes Projekt noch nicht gespeichert ist und Sie es erstellen, speichert die IDE das ganze Projekt in dieses Verzeichnis und erstellt es dort.

Compilermeldungen-Sprachdatei

Wird das Feld leer gelassen, dann werden die Compilermeldungen auf Englisch angezeigt. Sollen die Meldungen in lokalisierter Form angezeigt werden, dann muß eine entsprechende Sprachdatei eingebunden werden. Diese befindet sich im Lieferumfang von FPC (welches evtl. separat installiert werden muß). Die unicode-fähige deutsche Sprachdatei ist die errordu.msg.

Allgemein

Sprache

Die Sprache des gesamten Textes der IDE. Sie sollten die IDE neu starten um sicherzustellen, dass der gesamte Text neu geladen wird.

Mausaktion

  • Doppelklick gegenüber Einfachklick bevorzugen

Hinweise

  • Hinweise für die Komponentenpalette: Zeigt Hinweise, wenn die Maus über der Komponentenpalette ist.
  • Hinweise für die Haupt-Speedbuttons: Zeigt Hinweise, wenn die Maus über den Buttons des IDE-Hauptfensters ist. (z.B. Buttons für Öffnen, Speichern)

Zeige Bildzeichen für

Es können getrennt für Menüeinträge und Schaltflächen Einstellungen zur Anzeige von Bildzeichen getroffen werden. Mit "Voreinstellung" werden die Einstellungen des aktuellen Widgetsets/Betriebssystems übernommen (diese sind nicht einheitlich).

Automatisches Speichern

  • Dateiänderungen eher über den Inhalt als über den Zeitstempel ermitteln: Wenn die IDE prüft, ob einige Editordateien auf dem Datenträger geändert wurden, vergleicht sie normalerweise nur das Dateidatum. Um die Datei auch zu laden und den Inhalt zu vergleichen, aktivieren Sie diese Option.
  • Vor dem Speichern der Projekt-Sitzungsinformationen nachfragen - Wenn ein Projekt geschlossen wird fragt die IDE, ob die Änderungen gespeichert werden sollen. Wenn sich nur die Sitzungsinformationen (z.B. die Cursorpositionen oder die im Quelltexteditor geöffneten Dateien) geändert haben und die Sitzungsinformationen in einer separaten Datei gespeichert werden (in einer *.lps-Datei und nicht in der *.lpi-Datei), dann wird die IDE nicht nachfragen.

Desktopdateien

Lädt oder speichert die Umgebungseinstellungen von/in eine Datei.

Fenster

  • Einzelnen Schalter in der Taskleiste anzeigen -
  • IDE-Fenster beim Start verstecken - Wenn das Projekt gestartet wird, werden alle IDE-Fenster versteckt und wiederhergestellt, wenn das Programm stoppt.
  • IDE-Titel beginnt mit Projektname - Normalerweise nimmt die IDE als Aufschrift in der Taskleiste (dem Panel ganz oben oder unten am Bildschirm) Lazarus IDE vX.Y.Z - project1. Die meisten Taskleisten sind zu kurz und Sie sehen nur Lazarus .... Aktivieren Sie dies, so wird der Projektname zuerst angezeigt. Das kann nützlich sein, wenn Sie mehrere Instanzen der IDE starten, um gleichzeitig an verschiedenen Projekten zu arbeiten.
  • IDE-Titel beinhaltet Projektverzeichnis -
  • IDE-Titel beinhaltet Erstellmodus -
  • Fenstermenü zeigt Formularnamen anstatt Caption-Eigenschaft - das Formular bleibt auch dann erreichbar, wenn die Caption-Eigenschaft leer gelassen wurde

Fensterpositionen

Feintuning der Positionen der IDE-Fenster.

IDE-Coolbar

Allgemeine Coolbar-Einstellungen

Symbolleiste(n) hinzufügen/konfigurieren/löschen

Editor-Symbolleiste

Komponentenpalette anzeigen

Seiten

Ohne zusätzliche Eingriffe werden die einzelnen Seiten der Komponentenpalette bei jedem Start von Lazarus zufällig angeordnet. An dieser Stelle hat man die Möglichkeit, die Reihenfolge der Seiten festzulegen.

Unterhalb der Liste befinden sich vier Schaltflächen mit folgenden Funktionen:

  • Hinzufügen: fügt eine neue (zunächst leere) Seite hinzu
  • Vorgaben wiederherstellen: setzt die Komponentenpalette auf die Grundeinstellungen zurück
  • Export: exportiert die Einstellungen in eine XML-Datei
  • Import: importiert Einstellungen aus einer XML-Datei

Komponenten

Hier kann man die Reihenfolge der Komponenten festlegen. Die Zugehörigkeit einer Komponente zu einer bestimmten Seite in der Komponentenpalette kann aber nicht geändert werden (wenn man dies möchte muß das zugrundeliegende Package geändert werden).

Formulareditor

Farben

Gitter

  • Gitter anzeigen - zeigt ein Punktegitter auf jedem Designer-Fenster. Alle Client-Bereiche, welche Bedienelemente akzeptieren, haben dieses Gitter.
  • Abstand vom Rand - Zeigt Rechtecke um jedes Bedienelement, um den Randabstand anzuzeigen. Dies ist ziemlich langsam.
  • Am Gitter ausrichten - Beim Bewegen oder Größe-Ändern einer Komponente auf dem Designer die Bewegung am nächsten Gitterpunkt einrasten.
  • Gittergröße X - Die Schrittbreite in Pixeln für das Gitter.
  • Gittergröße Y - Die Schritthöhe in Pixeln für das Gitter.

Hilfslinien

Die Hilfslinien zeigen, zu welchem Bedienelement die aktuelle Auswahl ausgerichtet ist.

  • Hilfslinien anzeigen - zeichnet die Hilfslinien
  • An Hilfslinien ausrichten - Beim Verschieben oder Größe-Ändern einer Komponente auf dem Designer Form auf der nächsten Hilfslinie einrasten.

Verschiedenes

  • Enkel auswählen -
  • Zeige Titel nichtvisueller Komponenten - Zeigt ein Hinweisfenster mit dem Komponentennamen und Komponenten-Klassennamen an, wenn sich der Mauszeiger über einer Komponente im Designer-Form befindet.
  • Zeige Designer-Hinweise - Zeigt ein Hinweisfenster mit Position und Größe einer Komponente an, wenn sich der Mauszeiger über einer Komponente im Designer-Form befindet.
  • Geöffnete Unit im Designer laden - Designer-Form automatisch öffnen, wenn eine Unit-Datei geöffnet wird. Nützlich für Anfänger, deshalb standardmäßig eingeschaltet.
  • Rechtsklick wählt aus - Rechte Maustaste wählt eine Komponente aus und zeigt das Popup-Menü.
  • Designer möglichst selten neu zeichnen - Die IDE benutzt einen intelligenteren Algorithmus zum Neuzeichnen der Forms (InvalidateRect anstatt komplettem Neuzeichnen). Dadurch wird das Neuzeichnen schneller. Allerdings funktioniert diese Methode nicht mit allen Widgets aus allen Widgetsets. Sollten Sie Artefakte in Ihren Designer Forms sehen, benutzen Sie diesen Menüpunkt.
  • Komponentennamen beim Neuanlegen abfragen -
  • Zum Favoriten-Reiter des Objektinspektors umschalten -
  • Packages auf Form-Erzeugung prüfen -

Objektinspektor

Farben

Farben für verschiedene Eigenschafts-Einträge.

Schnellumstellung

Per Klick auf einen Button kann der Objektinspektor auf die Voreinstellungen von Lazarus oder Delphi zurückgesetzt werden.

Verschiedenes

  • Höhe des Eintrags - die Vorgabehöhe jeder Eigenschaftszeile. Nicht alle Widgetsets unterstützen das Ändern der Größe von Edit- und Comboboxen. Zum Beispiel erlaubt die Win32 Schnittstelle nicht das Setzen der Combobox-Höhe.

Einstellungen

  • Objektinspektor automatisch anzeigen -
  • Komponentenbaum anzeigen -
  • Infobox anzeigen -
  • Statusbalken anzeigen -
  • Hinweise im Objektinspektor anzeigen - zeigt Hinweise, wenn die Maus über eine Eigenschaftszeile bewegt wird.
  • Verwende CheckBox für boolesche Werte -
  • Nicht voreingestellte Werte fett hervorheben - durch die Hervorhebung lassen sich geänderte Werte schneller erkennen
  • Trennlinie anzeigen -
  • Gitterlinien zeichnen -

Nachrichtenfenster

Farben

Einstellungen

  • Zeige Nachrichten-Icons - Normalerweise wird im Nachrichtenfenster jeder Nachricht ein Symbol vorangestellt, damit Sie schnell sehen, welchen Typ sie hat oder ob die IDE einen Quick Fix für die Nachricht hat. Falls Sie keine Icons mögen, deaktivieren Sie diese Einstellung.
  • Gewählte Elemente immer fokussiert darstellen -
  • Fokus nach dem Kompilieren auf die Meldungen setzen -
  • Maximale Anzahl paralleler Prozesse, 0 bedeutet Vorgabe - Bei Computern mit mehreren Prozessorkernen (was aktuell der Standard sein dürfte) kann der Vorgang des Kompilierens (und damit die Anzeige im Nachrichtenfenster) auf mehrere Threads aufgeteilt werden. Der erzielbare Geschwindigkeitsvorteil hängt aber auch von der restlichen Hardware ab (z.B. HDD vs. SSD). Bei der Vorgabeeinstellung (0) werden so viele Threads verwendet, wie Prozessorkerne vorhanden (bzw. erkannt) sind. Ein Nachteil ist, daß die Nachrichten unter Umständen nicht mehr in chronologischer Reihenfolge angezeigt werden (wenn z.B. der dritte Thread schneller fertig ist als der zweite). Wenn man das bisherige Verhalten wieder haben möchte, dann stellt man die Anzahl 1 ein. Dann wird nur ein Prozessorkern verwendet, aber die Reihenfolge ist wieder gewährleistet.

FPDoc-Editor

FPDoc Dateipfad

Enthält die Pfade zu den FPDoc-Dateien mit Dokumentation für die LCL. Sie können auch Pfade zu den RTL-Dokumentationsdateien (*.xml) hinzufügen, so dass die Tooltip Hilfe sowohl mit LCL- als auch RTL-Code funktioniert.

Backup (Sicherung)

Die IDE kann jedesmal Sicherungsdateien erstellen, wenn sie eine Datei speichert und eine alte Datei bereits existiert.

Die Optionen erlauben das Einrichten der Erweiterung und des Ortes der Sicherungsdateien.

Hinweis: Normalerweise ist es besser, ein Versionskontrollsystem wie SVN oder CVS für die Sicherungen zu verwenden und die Sicherungen hier zu deaktivieren.

Namensvergabe

Voreingestellte Pascal-Dateiendung

Erzeugt die IDE eine Pascal-Unit, verwendet sie diese Erweiterung als Vorgabe. Das .pas ist typisch für Delphi-Benutzer, während .pp oft für FPC-Quelltexte verwendet wird und .p wird auf Mac Computern (Classic) verwendet.

Anmerkung: Individuelle Projekte können Pascal-Quelltextdateien mit beliebiger Erweiterung definieren. Die IDE wird sie nicht überschreiben.

Mehrdeutige Dateiaktion

Vor der Kompilierung prüft die IDE, ob es mehrdeutige Dateien gibt. Zum Beispiel prüft sie, ob eine Unit zweimal existiert im Unitpfad. Der Compiler wird die erste nutzen, die er findet, was nicht die geplante Sache sein mag und zu sonderbaren Fehlern führt. Hier können sie die Aktion einstellen, die erfolgen soll, wenn die IDE eine solche Datei findet.

Speichern unter (Pascaldateien in Kleinbuchstaben)

Quellcode, der auf Plattformen mit Beachtung der Groß- und Kleinschreibung kompilieren soll, muss sicherstellen, dass Units korrekt geschrieben sind. FPC sucht zuerst nach dem Unitnamen wie bei uses angegeben, dann klein geschrieben und letztlich groß geschrieben. Sie können entweder sicherstellen, dass die Groß- und Kleinschreibung in allen Units richtig ist, was aber für Windows-Benutzer schwer ist, weil sie es (unter Windows) nicht tun müssen. Oder Sie können die IDE alle neuen Units klein geschrieben speichern lassen. Der Quelltexteditor wird den Unitnamen so anzeigen, wie er im Quellcode geschrieben ist. In der IDE sieht man also immer die korrekte Schreibweise.

Wenn eine Unit umbenannt wird, Referenzen aktualisieren ...

Hier läßt sich einstellen, ob beim Umbenennen einer Unit die Referenzen auf diese Unit aktualisiert werden sollen.

  • Nach Dateinamen für neue Datei fragen -
  • Neuen Dateinamen in Kleinbuchstaben vorschlagen -

Dateifilter

Der Datei / Öffnen Dialog besitzt eine Liste von Filtern, die hier konfiguriert werden kann. Mit einem Rechtsklick können Einträge hinzugefügt oder entfernt werden.

Die IDE fügt immer einige Filter hinzu:

  • einen 'Alle Dateien'-Filter (*.*)
  • einen Filter für alle im Quelltexteditor geöffneten Dateien, die noch nicht in der Liste sind. Zum Beispiel wenn Sie eine Textdatei (*.txt) geöffnet haben, dann wird der Filter *.txt enthalten.

Editoreinstellungen

Der Dialog kann aufgerufen werden

  • im Hauptmenü unter Werkzeuge -> Einstellungen
  • im Kontextmenü des Quelltexteditors unter Editoreigenschaften


Allgemein

Einstellungen für Rücknahme

  • Rücknahme auch nach dem Speichern: Bewahrt die Undo-Liste beim Speichern.
  • Gruppenrücknahme: Bei der Rücknahme/ beim Wiederherstellen, werden alle ausständigen Änderungen der selben Art in einem Aufruf durchgeführt anstatt jede Änderung einzeln.
  • Rücknahmemaximum: Maximale Anzahl von Rücknahmeschritten.

Scrolleinstellungen

  • Über das Dateiende hinaus scrollen: Erlaubt es, den Cursor über die Dateiende-Markierung hinaus zu bewegen.
  • Halbseitiges Scrollen: Beim Scrollen mit Bild-hoch und Bild-ab wird nur eine halbe Seite weit bewegt.
  • Eine Zeile weniger scrollen: Erzwingt beim Scrollen eine Zeile weniger.
  • Scrollhinweise anzeugen:

Cursoreinstellungen

  • X-Position des Cursors beibehalten: Beim Bewegen durch die Zeilen des Quellcodes wird die X-Position des Cursors beibehalten, solange das Zeilenende nicht überschritten wird.
  • Persistenter Cursor: Der Cursor blinkt auch dann, wenn das Editorfenster den Fokus verliert. Dies wird bei einigen Betriebssystemen benötigt, bei denen das Fokussieren von Meldungen nicht richtig funktioniert.
  • Ständig sichtbarer Cursor: Beim Scrollen bleibt der Cursor ständig sichtbar.
  • Über das Zeilenende hinaus scrollen: Erlaubt den Cursor hinter das letzte Zeichen in einer Zeile zu bewegen.
  • Cursor überspringt Auswahl: When there is a selection and you press the left arrow, the cursor will go to the start of the selection.
  • Cursor überspringt Tabulatoren:
  • Pos1-Taste springt zum nächsten Anfang: home key jumps to line start if nearer, similar to visual studio.
  • Ende-Taste springt zum nächsten Ende:

Auswahl

  • Persistenter Block:
  • Block überschreiben:

Einrückung und Tabulatoren

Tabulatoren:

  • Tabulatoren in Leerzeichen umwandeln: Beim Bearbeiten von Zeilen fügt der Editor Leerzeichen anstatt Tabulatoren ein. Der Rest der Zeile wird nicht geändert und Tabulatoren bleiben erhalten. Um alle Tabulatoren umzuwandeln markieren Sie die gesamte Datei (Strg + A) und gehen im Hauptmenü zu Bearbeiten -> Tabulatoren in Auswahl in Leerzeichen umwandeln.
  • Tab-Breite: Maximale Anzahl von Leerzeichen als Tabulatorersatz.
  • Intelligentes Einrücken: Wenn eingerückt wird, geht der Cursor zum nächsten Leerzeichen der vorherigen Zeile. Wenn die aktuelle Zeile länger ist als die vorhergehende, wird nach einer längeren Zeile davor gesucht.

Einrückung:

  • Automatische Einrückung: Wenn neue Zeilen eingefügt werden (z.B. durch das Drücken der Enter Taste), wird der Editor den Cursor auf der neue Zeile mit der selben Anzahl von führenden Leerzeichen wie auf der vorhergehenden Zeile einrücken. Dies enthält auch "automatisches Ausrücken": Wenn die Einfügemarke hinter dem letzen Whitespace-Zeichen eines zusammenhängenden Blockes solcher Zeichen am Zeilenanfang steht, dann bewirkt das Drücken von Backspace ein Ausrücken. Dabei wird auf die Einrückung der vorigen Zeile geachtet. Enthält eine Zeile nur Leerzeichen, passiert dies nur, wenn die Einfügemarke am Zeilenende steht.
  • Tab rückt ganze Blöcke ein: Wenn aktiviert können mit <Tab> und <Shift><Tab> Blöcke eingerückt oder selektierter Text ausgerückt werden.
  • Blockeinrückung: Anzahl von Leerzeichen, um die ein Block eingerückt wird. Zum Beispiel mit Strg + I.

Kommentare:

Verschiedenes

  • Sonderzeichen anzeigen: Leerzeichen werden als Punkte und ungültige Zeichen als Fragezeichen angezeigt.
  • Abschneiden von Leerzeichen am Zeilenende: Leerzeichen am Zeilenende werden abgeschnitten und nicht gespeichert. Dies trifft nur auf bearbeitete Zeilen zu.
  • Text am Cursor suchen: Wenn der 'Suche' Dialog aufgerufen wird, wird das Wort am Cursor genommen und in das Suchtext Feld eingetragen.
  • Ohne Markierung Wort kopieren: Wenn nichts ausgewählt ist und der Benutzer Kopieren (Strg + C) drückt, markiert der Editor das Wort und kopiert es. Das selbe gilt für Ausschneiden.
  • Kopieren/Einfügen mit Faltungsinformationen: Gefaltete Bereiche bleiben beim Kopieren und Einfügen (von einem Editorfenster zu einem anderen) erhalten.


  • Leerzeichenbehandlung:
  • Reiterposition des Quell-Notebooks:

Anzeige

Auf dieser Seite lassen sich Einstellungen bezüglich der Ränder und der Schrift im Quelltexteditor treffen. Ein Vorschaufenster im unteren Bereich erlaubt einen Blick darauf, wie sich Änderungen auswirken.

Mit der Option Sichtbarer rechter Rand wird eine Linie am rechten Rand gezeichnet. Mit dieser Linie wird die Stelle angezeigt, ab der beim Ausdruck ein Zeilenumbruch erfolgt. Die Anzahl der Zeichen bis zur Trennlinie wird im folgenden Eingabefeld festgelegt. Vorgabe sind 80 Zeichen, was sich an früheren Zeiten orientiert, als es Editoren nur im Textmodus gab. Da auf modernen Monitoren deutlich mehr als 80 Zeichen in einer Zeile dargestellt werden können, hat die Option keine Auswirkung auf die Darstellung am Monitor. Soll die Farbe der Linie geändert werden, so führt ein Klick auf den Link zur Seite mit den Farbeinstellungen.

Eine Leiste am linken Rand läßt sich mit Sichtbare Randleiste einschalten. Diese Leiste wird zur Darstellung zusätzlicher Informationen wie Zeilennummern oder Haltepunkte benötigt.

Da sich Fehlermeldungen oft auf eine bestimmte Zeilennummer beziehen, lassen sich die Ursachen schneller finden, wenn die Anzeige der Zeilennummern aktiviert ist. Da die Anzeige der Zeilennummern in der linken Randleiste erfolgt, muß die Anzeige der Randleiste ebenfalls aktiviert sein. Da die Nummerierung einer jeden Zeile bei einer Suche nicht unbedingt übersichtlich ist, läßt sich die Anzeige auf jede n-te Zeile einschränken.


Da die richtige Schriftart im Editor die Lesbarkeit verbessern kann, bietet auch Lazarus verschiedene Einstellmöglichkeiten. Die Schriftart kann einfach sein wie 'courier' oder kompliziert wie '-adobe-courier-medium-r-normal-*-*-140-*-*-*-*-iso10646-1' unter GTK/X. Weiterhin läßt sich die Schriftgröße ändern sowie ein zusätzlicher Abstand zwischen Zeilen und auch den Zeichen einrichten. Der zusätzliche Abstand wird in Pixeln angegeben. Mit dem Abschalten des Antialiasing läßt sich auf leistungsschwächeren Systemen die Belastung verringern, um Fehlern bei der Darstellung vorzubeugen.

Farben

Auf dieser Seite können die Farbeinstellungen für die Syntaxhervorhebung in der IDE vorgenommen werden. Der Haupt-Hervorheber ist derjenige für Object Pascal. Alle anderen Hervorheber nutzen dessen Farben als Vorgabeeinstellung.

Quick overview of provided functionality

This dialog provides access to the following color and highlight related settings and functions Choosing Color-Schemes

Color-scheme are set individually for each language. This allows to highlight different languages with different schemes.

To change the scheme for a language choose the language from the first drop-down, then choose the color-scheme in the 2nd drop-down.

The color-scheme will be applied to all files of this language. The language of a file is detected by the file-extension. The list of extensions can be chosen or edited in the 3rd drop-down. Editing Colors in a Scheme

Individual colors and styles in any scheme can be edited. Changes like this will be applied to all files (that are of a language which is) using the scheme.

More details of how to edit colors and styles can be found below.

How Colors are determined "Default Text"

The base color (fore and background) used to display any text. All other colors act as modification to this color pair.

Language-specific and Mark-up colors are based on the "default text" colors. They only specify Attributes that need to be modified. (e.g. pascal keywords are bold, otherwise using the default colors) This allows to change the default color and all elements will follow to the new setting (unless they have a modified fore/background color) Language specific colors

Specify colors or styles for language specific elements.

Any color set to "not modified" uses the "default text" setting. The default for styles is no-style (not bold, not italic, ...).

An exception is the style/color for pascal "Case label". It modifies the style of the underlying pascal element, which can be String, Number or Identifier. If those make no modification, then the default come from the "default text" again.

For this reason "Case label" has extended style settings like "mark-up" colors (see there). Mark-up colors

Specify colors for all forms of mark-up (text-selection, brackets, ...)

The modifications made by mark-up settings are applied on top of those made by the language specific settings. They may even be applied on top of other mark-up settings, if several mark-ups apply to a text. (e.g. selected text with bracket highlight in selection)

Since they modify text that can already have styles (e.g language specific settings may display pascal keywords/comments in bold), they allow to either force a style on/off or invert it's current state.


Die Buttons und Comboboxen am oberen Rand bieten die folgenden Funktionen:

  • Syntaxhervorhebung nutzen: Bei Deaktivierung dieser Funktion bleiben die anderen Einstellungen ohne Auswirkung.
  • Sprache: Hier läßt sich der Hervorheber für eine bestimmte Sprache wählen. Voreingestellt ist Object Pascal. Zur Auswahl stehen aber z.B. auch C++ oder Python. Language refers to the content type of a file. Highlighting recognizes different types of content, such as pascal files, XML/HTML, LFM, diff-files and some other programming languages
  • Farbschema: Die IDE enthält einige vordefinierte Farbschemata (z.B. für die von Turbo Pascal bekannten Farben). Es empfiehlt sich, erst ein Farbschema zu wählen, bevor einzelne Elemente bearbeitet werden. Ein Farbschema definiert, wie Text in verschiedenen Sprachen hervorzuheben ist. Es definiert auch, wie sprachunabhängige Bereiche wie markierter Text hervorzuheben sind. Ein Farbschema besteht aus:
    • A basic default color for text and the editors background color. Usually a single scheme uses the same "default colors" for all languages.
    • individuellen Farb- und Stil-Einstellungen/Modifikationen für sprachspezifische Elemente, z.B. Pascal-Schlüsselworte oder XML-Tags.
    • General color and style settings/modifications for mark-up. For example selected-text, matching-brackets, syncro-edit. Again usually for one scheme those colors are the same cross all languages supported by the scheme.
  • Dateiendungen: Hier lassen sich die Dateitypen einschränken, für welche die Hervorhebung gelten soll.
  • Export: Bietet die Möglichkeit, die getroffenen Einstellungen in eine XML-Datei zu sichern. Um ein exportiertes Schema (z.B. auf einem anderen Computer) nutzbar zu machen, muß die XML-Datei in ein Verzeichnis "userschemes" kopiert werden, welches sich im primären Konfigurationspfad von Lazarus befindet. Das Schema aus der Datei wird dann in der Schema-Auswahlliste (Dropdown) erscheinen.
  • Alle Elemente auf Voreinstellungen setzen: Wenn man sich bei der Einstellung der Farben total vertan hat, dann bietet sich hier eine schnelle Möglichkeit, den Ausgangszustand wiederherzustellen.

Es folgen zwei Fenster, in denen sich einzelne Elemente auswählen und die getroffenen Änderungen in einer Vorschau betrachten lassen.

Im Bereich Elementattribute läßt sich festlegen, ob globale oder lokale Schema-Einstellungen verwendet werden sollen. Außerdem kann man hier einzelne Elemente auf ihre Voreinstellung zurücksetzen. Mit der Wahl von Vorder- und Hintergrundfarbe läßt sich jedem Element eine individuelle Note geben. Dabei sollte beachtet werden, dass nicht jede mögliche Farbkombination auch sinnvoll ist.

Globale Schema-Einstellungen

Most colors can be set globally for the whole scheme or have language specific settings. Using the global-scheme default allows to quickly change a setting for all languages.

Global settings are available for the "default text" and for all "mark-up" settings. They can be switched off on a per language base, allowing to specify a language specific exception for some or all of those colors.

Note If the "Use global scheme settings" check-box is checked for any settings, then the colors shown and editing are the global colors. Changes will affect all languages.

The difference between "use global" and "Not modified"

"not modified" always refers to the color/style the text has according to the language specific setting, or settings already applied to it.

(Block-selection may act on default text, on pascal-comment, or even on bracket pair highlight.) "not modified" does not mean to take the color from the global scheme settings.

"use global" means that the values for all colors styles of the selected element will be determined according to global settings. The global settings will be treated as if they where local).

global settings can them self specify "not modified, in which case the color will be chosen from the languages upward settings.

Hervorhebung

Es gibt eine Reihe von Möglichkeiten, um das current-word-markup Feature zu steuern. Diese finden sich unter Automatische Funktionen und Farben in den Editoreinstellungen.

Anmerkung: Wenn Sie einen Block markiert haben, dann wird der Block als Grundlage für die Hervorhebung verwendet und nicht das Wort unter dem Cursor. Manche Einstellungen sind nur für Blöcke sinnvoll, andere für einzelne Wörter.

  • Timer für Wort-Hervorhebung deaktivieren: Normalerweise startet die Hervorhebung nicht unmittelbar, sondern erst nach einer (einstellbaren) Verzögerung. Wird der Timer für diese Verzögerungszeit deaktiviert, dann kann mittels der Maus keine Hervorhebung mehr ausgelöst werden. Es verbleibt aber die Möglichkeit, die Hervorhebung über die Tastatur auszulösen. Die (Standard-)Tastenkombination dafür ist Alt + M. You can toggle the highlight to any chosen word, or selection by pressing Alt-M while at the word, or while having selected the desired block. Pressing Alt-M again will set the "fixed" word to the word at your new location. To untoggle, press Alt-M twice at the same location (The exact behaviour is: If your current selected block, or (if no block selected) the current word under cursor is the same term as the word you toggled-fixed, this will clear the fixed word. Otherwise the fixed word will be set)
  • Schlüsselworte übergehen: Jeder Hervorheber enthält eine hardcodierte Liste von Schlüsselworten. Bei Aktivierung der Option werden diese Schlüsselworte bei der Hervorhebung nicht berücksichtigt, auch wenn sie in einem Kontext verwendet werden, der sie nicht als Schlüsselworte erkennen lässt. Andere Hervorheber können andere Schlüsselwortlisten enthalten.
  • Leerzeichen anpassen:
  • Klammerhervorhebung: Wenn der Cursor vor oder hinter einer Klammer ist, dann wird diese zusammen mit der zugehörigen Klammer (bei einer öffnenden Klammer ist dies die schließende Klammer, bei einer schließenden Klammer die öffnende Klammer) hervorgehoben. Auf diese Weise lassen sich verschachtelte Ausdrücke besser erkennen und analysieren. Die Hervorhebung erfolgt standardmäßig durch Fettschreibung. Ist der Quelltext an der betreffenden Stelle bereits fett geschrieben (z.B. innerhalb eines Kommentars), dann erfolgt die Hervorhebung durch Normalschreibung.
  • Steueranweisungen wie Schlüsselworte hervorheben:


4) for current-word only: You can choose to only highlight exact matches(match word boundaries) instead of any occurrence including occurrences in other words. By Default this applies to words shorter than 3 chars.

For example: Set option to true and field to 3.

If the word at caret is the 3 letter word 'laz' then all 'laz' will be marked, but not 'lazarus' or 'blaz'.

If the word at caret is the 4 letter word 'laza' then all words including 'laza' will be marked, such as 'lazarus'.


5) blocks only: by default leading/trailing spaces are ignored/stripped from the search term

To disable the feature completely: Set all colors (FG,. BG and Frame) to default (check the tickbox); make sure no Styles (bold, italic) are selected.

This will be recognized, and the Editor is clever enough and will not even trigger the search for other words.

Benutzerdefinierte Hervorhebung

Tastaturbelegung

Siehe auch Lazarus IDE Shortcuts.

  • Filter: Am oberen Rand der Seite gibt es ein Eingabefeld, um einen Textfilter einzurichten. Geben Sie einige Buchstaben ein und in der Baumansicht darunter werden nur die Tasten angezeigt, in deren Beschreibung der eingegebene Text enthalten ist. Löschen Sie den Inhalt des Eingabefelds, um alle Tasten anzuzeigen.
  • Baum der IDE-Shortcuts: Hier können Sie alle Kommandos und Shortcuts der IDE sehen. Klicken Sie auf einen der Schlüssel, um einen Dialog zum Bearbeiten des Shortcuts erscheinen zu lassen.
  • Tastenkombination suchen: Click on the button to show a dialog. Grab a key and press ok. The tree will then only show those keys that start with the shortcut. Wählen sie VK_UNKNOWN, um alle anzuzeigen.
  • Ein Schema laden: Lädt eine der vordefinierten Tastaturbelegungen. Dies wird alle ihre Shortcuts überschreiben.
  • Tastenbelegung löschen: Löscht für den gerade ausgewählten Befehl den Shortcut.
  • Konsistenz prüfen: Sucht nach mehrfach definierten Tasten.

Maus

Diese Seite ist ein Teil der Online-Hilfe für die IDE.
Sie beschreibt den Abschnitt: "Editor" / "Maus". Sie können diesen Dialog in Ihrer IDE aufrufen über:

  • das Menü: Werkzeuge => Einstellungen -> Editor -> Maus ...
  • das Kontextmenü des Quelltexteditors (Rechtsklick): -> Einstellungen ...

Navigation

     
  • IDE Options Überblick über alle Einstellungen der IDE


Allgemein

Maus beim Tippen verbergen

Wenn der Mauszeiger über einem Editor ist, wird er während Sie tippen verborgen. Jede Mausbewegung, Mausklick oder Menübefehl machen ihn wieder sichtbar.

Randleiste

Sie können aktuell zwischen zwei vordefinierten Modi für die Randleiste wählen:

Standard

Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste gedrückt wird.

Erweitert

Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste losgelassen wird. Dieser Modus erlaubt es, mit der Maus Text zu markieren und trotzdem eine Klickaktion auszulösen.

  • Maus gedrückt und bewegt (zu einer anderen Zeile oder in den Textbereich hinein), erstellt eine Auswahl. Beim Auslassen erfolgt keine Aktion.
  • Maus gedrückt und ausgelassen ohne Bewegung, führt den normalen Randleistenklick aus (Breakpoint / Codefaltung)

Text

Alt-Taste aktiviert Spaltenmodus

Erlaubt die spaltenweise Auswahl. Halten Sie die Alt-Taste gedrückt, während Sie mit der Maus Text auswählen.

Auswahl verschieben

Mit der linken Maustaste ziehen Sie eine Auswahl an eine neue Stelle. Bei zusätzlicher Strg-Taste wird die Auswahl kopiert.

Rechte Maustaste bewegt auch den Cursor

DIe rechte Maustaste zeigt immer das Kontextmenü an. Die Einfügemarke auf die Klickposition zu setzen ist optional.

Doppelklick markiert Zeile

Normalerweise wählt ein Doppelklick ein Wort aus, ein Dreifachklick eine Zeile (ohne führende und nachfolgende Leerzeichen). Mit dieser Einstellung wählt der Doppelklick die Zeile aus, ein Dreifachklick schließt auch führende/nachfolgende Leerzeichen ein.

Mittlere Taste

"Auswahl einfügen": Bei einer aktiven Auswahl wird eine Kopie an der angeklickten Position eingefügt.

Strg + linke Taste

Als Vorgabe: Wenn Sie auf einen Bezeichner (wie z.B. eine Funktion, eine Variable oder einen Typnamen) klicken, springt die IDE zur Deklaration dieses Bezeichners (sogar in eine andere Unit hinein).

Dieses Merkmal ist auch als Tastenkürzel verfügbar (üblicherweise Alt+. Siehe "Einstellungen" / "Tastaturbelegung" / "CodeTools-Befehle" / "Deklaration suchen"

"zum anderen Blockende" bedeutet: Wenn Sie nicht auf einem Bezeichner sondern auf einem Blockanfang sind ("begin", "end" oder einem Klammerpaar oder etwas Ähnlichem), dann erfolgt ein Sprung zum passenden Wort / zur passenden Klammer. Auf der Tastatur ist das Strg+Q+K, siehe: "Tastaturbelegung" / "Codetools-Befehle" / "Anderes Blockende suchen".

Erweitert

Für erweiterte Einstellungen sehen Sie bitte hier: Erweiterte Maus-Einstellungen

Wenn Sie in den erweiterten Einstellungen Änderungen vorgenommen haben, zeigt diese Seite einen Hinweis darauf.

In diesem Fall werden Ihre Änderungen nicht mehr sofort vorgenommen. Stattdessen wird ein Knopf angezeigt, der Sie zum Überschreiben der Einstellungen mit Ihren Änderungen auffordert. Falls Sie ungespeicherte Änderungen haben, wird ein Warnhinweis angezeigt.

Vervollständigung/Hinweise

  • Leere Methoden automatisch entfernen: Wenn eine Methode zwischen begin und end keinen weiteren Code enthält, dann wird sie beim nächsten Speichern entfernt.
  • Blöcke vervollständigen: Wenn Sie z.B. begin eingeben und die Enter Taste drücken, dann fügt die IDE ein end; hinzu. Dieses Feature gibt es seit Version 0.9.27.
  • Deklarations-Hinweise anzeigen:
  • Werte-Hinweise während des Debuggens anzeigen:
  • Verzögerung für Hinweise und Vervollständigung:
  • Verzögerung für lange Zeilenhinweise:
  • Lange Zeilenhinweise anzeigen:

Codefaltung

Codefaltung: (De)Aktiviert die Codefaltung

Umgekehrte Faltungsreihenfolge im Popup:

Unter Sprache läßt sich auswählen, für welche Dokumente in der unterhalb folgenden Liste die Einstellung der Codefaltung vorgenommen werden kann. Zu Auswahl stehen:

  • ObjectPascal Dateien
  • HTML Dokumente
  • XML Dokumente
  • Lazarus Formulardateien
  • Diff-Dateien

Trennlinien

In diesem Bereich läßt sich festlegen, ob im Quelltexteditor horizontale Trennlinien gezeichnet werden. Mit diesen Linien lassen sich z.B. zusammengehörige Bereiche im Quelltext besser hervorheben. Früher gebräuchliche Konstruktionen (z.B. ganze Kommentarzeilen mit ********) sind somit nicht mehr notwendig.

Unter Sprache kann einstellt werden, für welche Art von Dateien die Festlegung der Trennlinien erfolgen soll. Derzeit steht nur ObjectPascal zur Verfügung. In der darunter folgenden Liste können die Bereiche ausgewählt werden, um die eine Trennlinie gezeichnet werden soll. Man sollte sich aber im Klaren darüber sein, dass zuviele Trennlinien zu Lasten der Lesbarkeit gehen. Bei Bedarf können den Trennlinien auch abweichende Farben zugewiesen werden.

Seiten und Fenster

Notebook-Reiter:

  • Schließen-Schaltfläche im Notebook anzeigen: Zeigt einen Schließen-Button auf jeder Seite im Quelltexteditor. Nicht alle Widgetsets unterstützen dies (im Moment nur die Gtk, Gtk2 und Qt Schnittstelle).
  • Reiter bei einseitigen Fenstern ausblenden: Ist im Quelltexteditor nur eine Seite geöffnet, dann wird der Reiter ausgeblendet (die meisten Befehle im Zusammenhang mit dem Reiter lassen sich nur sinnvoll nutzen, wenn mindestens zwei Seiten geöffnet sind).
  • Strg-Mittelklick auf Tab schließt alle anderen: Ein Klick der mittleren Maustaste zusammen mit gedrückter Strg-Taste schließt alle Editorfenster mit Ausnahme desjenigen, auf das geklickt wurde.
  • Reiternummern im Notebook anzeigen:
  • Tabs laut Historie schließen:
  • Mehrzeilige Tabs:

Reiterpositionen des Quell-Notebooks:

Editorauswahl für Sprungziele:

  • Zuletzt fokussierter Editor für die Datei:
  • Editor der zuletzt den Fokus hatte:
  • Kriterien, nach denen ein Editor ausgewählt wird:

CodeTools-Einstellungen

Deutsch (de) English (en)

Allgemein

Zusätzlicher Quellcodesuchpfad für alle Projekte

Wenn Sie zu faul sind, Packages einzurichten und Sie Ihre Projekte/Packages nicht verteilen wollen, dann können Sie hier einen globalen Suchpfad einrichten. Beachten Sie, dass "global" sich auf die Codetools bezieht, und nicht die Einstellungen für den Compiler beinhaltet.

Springen (bspw. Methodenspringen)

  • Ausrichten der oberen Zeile an Kommentar vorne: Wenn Sie von einer Methodendeklaration zum Methodenrumpf springen, versucht die IDE den Quellcodeeditor so zu positionieren, dass die oberste gezeigte Zeile im Editor die erste Zeile der Prozedur ist. Normalerweise gehört ein Kommentar davor auch zur Prozedur. Aktivieren Sie diese Option, um so zu scrollen, dass der Kommentar auch gezeigt wird.
  • Cursorzeile zentrieren: Wenn Sie vom Methodenrumpf zur Deklaration in class (oder interface) springen, kann die IDE die Zeile vertikal im Editor zentrieren.
  • Cursor hinter dem Zeilenende: Wenn die IDE zu einer neuen Position springt, ist es erlaubt, zu einer netten Position zu springen, sogar wenn dies jenseits des Zeilenendes ist.
  • Vorwärts-Deklarationen überspringen: Wenn Sie eine Deklaration unter Cursor suchen, dann suchen die CodeTools aufwärts und stoppen bei der ersten Fundstelle. Dies könnte eine Vorwärts-Deklaration sein, z.B. TControl = class;. Bei aktivierter Option springen die CodeTools stattdessen zur wirklichen Klassen-Deklaration.

Einrückung für Pascal-Quellcode

Mit 0.9.29 wurde das automatische Einrücken für Pascal Code im Quellcodeeditor schlauer. Es imitiert das vorliegende Einrücken. Wenn man zum Beispiel nach einem "try" RETURN drückt, wird nach anderen try..finally Blöcken gesucht und entsprechend eingerückt. Auch wenn man Code aus dem Clipboard einfügt, wird er eingerückt.

  • Beim Zeilenumbruch: Einrücken, wenn man RETURN drückt und die Zeile umbricht. Falls ausgeschaltet wird der Standard-Einrücker von SynEdit verwendet, der einrückt, wie in der Zeile davor.
  • Beim Einfügen aus der Zwischenablage: Einrücken, wenn man Text aus dem Clipboardeinfügt. Im Moment wird nur eingerückt, wenn man den Text in Spalte 1 einfügt.
  • Kontextabhängig: Der Einrücker durchsucht den umgebenden Codenach ähnlichen Stellen und kopiert die Einrückung. Das heißt, es wird zuerst der Code vorher, dann der nachfolgende Code durchsucht. Bei einer Projektunit werden alle Projektunits durchsucht. Bei einer Packageunit werden alle Packageunits durchsucht. Zuletzt wird die Beispielsdatei durchsucht. Ist diese Option deaktiviert, wird nur die Beispielsdatei durchsucht.
  • Beispieldatei: Diese Datei enthält Codebeispiele. Sie können diese Vorgabedatei bearbeiten oder eine andere Datei auswählen. Sie darf eine Unit oder Program-Quelle sein.

Für eine detaillierte Beschreibung siehe Fully automatic indentation.

Klassenvervollständigung

Richtlinie für das Einfügen von Klassenteilen

Fügt neue Variablen und Methoden zur class Deklaration hinzu:

  • Alphabetisch
  • Letzter

Verhalten für das Einfügen von Methoden

Wo neue Methodenrümpfe eingefügt werden.

  • Alphabetisch
  • Letzter
  • Klassenreihenfolge: Nutzt die selbe Reihenfolge wie in der class Deklaration

Prozedureinfügerichtlinie

Wo neue Prozedurrümpfe eingefügt werden

  • Letzter (am Ende des Quelltexts)
  • vor Methoden
  • hinter Methoden

Reihenfolge der Prozeduren beibehalten

Wenn neue Prozedurrümpfe eingefügt werden, wird die Reihenfolge von interface beibehalten.

Header-Kommentar für die Klasse

Fügt einen Header-Kommentar vor der Klasse hinzu. Zum Beispiel { TForm }

Implementierungs-Kommentar für die Klasse

Fügt einen Kommentar vor dem ersten Methodenrumpf ein. Zum Beispiel { TForm }

Eigenschaftenvervollständigung

  • Vollständige Eigenschaften: Aktivieren Sie es, um unvollständige Eigenschaftendeklarationen zu vervollständigen.
  • Präfix lesen
  • Präfix schreiben
  • Gespeicherte Nachsilbe
  • Variablenpräfix
  • Eigenschaften-Variable setzen

Quelltexterzeugung

In diesem Bereich kann festgelegt werden, wo (in welcher Reihenfolge) neue Prozeduren und Units eingefügt werden.

Worte

Schlüsselwortrichtlinie

Wie man neue Schlüsselworte schreibt.

Bezeichnerrichtlinie

Wie man neue Bezeichner schreibt.

Zeilentrennung

Leerzeichen

Leerzeichen einfügen vor ...

Leerzeichen einfügen nach ...

Bezeichner-Vervollständigung

Siehe das Tutorial Bezeichner-Vervollständigung.

Öffnen

  • Automatisch nach Punkt aufrufen: Falls aktiviert, wird die Bezeichner-Vervollständigung automatisch angezeigt, wenn der Benutzer den Punkt . drückt und die festgelegte Zeit (in Editor / Automatische Funktionen / Verzögerung für Hinweise und Vervollständigung) abwartet. Zum Beispiel:
  Button1.|  // Eingabe des Punktes und Warten zeigt das Vervollständigungsfenster an
  • Zeige Hilfe

Hinzufügen

  • Semikolon hinzufügen: Erlaubt es, ein fehlendes Semikolon hinzuzufügen. Zum Beispiel:
 s:=Caption|  //

fügt ein Semikolon an. Kein Semikolon, wenn der Bezeichner ein L-Value (???) ist, wie in folgendem Beispiel:

  Button1|
  • Zuweisungsoperatur := hinzufügen: Dies fügt ein := ein, wenn der Bezeichner ein L-Value (???) ist ohne Unter-Bezeichner. Zum Beispiel:
  Caption|  // Caption ist eine Zeichenkette, also Caption:=
  • Schlüsselwort "do" hinzufügen:
  • Parameter-Klammern hinzufügen:

Sortieren

  • Zeige kürzlich benutzte Bezeichner oben an:
  • Nach Bereich sortieren:

Verschiedenes

  • Ganzen Bezeichner ersetzen:
Aktiviert: ersetzt den ganzen Bezeichner am Cursor
Deaktiviert: ersetzt nur den Bezeichner vor dem Cursor

CodeExplorer-Einstellungen

Deutsch (de) English (en)

Der Code-Explorer Dialog wird hier beschrieben: Code-Explorer

Aktualisierung

Bevorzugter Darstellungsmodus

  • Kategorie - sortiert alle Deklarationen in Kategorien wie Konstanten, Variablen, Typen, Prozeduren, ...
  • Quelle - zeigt alle Deklarationen so wie sie im Quellcode vorkommen

Automatische Aktualisierung

  • Niemals automatisch - nur wenn der Refresh Button gedrückt wird
  • Beim Umschalten von Dateien im Quelltexteditor - wenn zu einer anderen Unit gewechselt wird
  • Wenn nichts ansteht - immer wenn der Benutzer nichts eingibt oder die Maus bewegt

Kategorien

Zeigt die verfügbaren Kategorien. Wählen Sie alle, die Sie im Code Explorer sehen wollen.

Der Bereich Code Observer existiert seit Version 0.9.27. Er listet ungewöhnliche oder schwierig zu lesende Codefragmente auf. Sie können die Details auf der gleichnamigen Seite einstellen.

Code Observer

Lange Prozeduren

Listet alle Prozeduren auf, die mehr Codezeilen enthalten, als in dem Feld rechts angegeben ist (Vorgabe sind 50 Zeilen). Lange Prozeduren sind von anderen schwierig nachzuvollziehen. Verwenden Sie das Prozedur extrahieren Werkzeug, um die Prozedur aufzuteilen.

Viele Parameter

Listet alle Prozeduren auf, die mehr Parameter enthalten, als in dem Feld rechts angegeben ist (Vorgabe sind 6 Parameter).

Viele geschachtelte Prozeduren

Listet alle Prozeduren auf, die mehr geschachtelte Sub-Prozeduren enthalten, als in dem Feld rechts angegeben ist (Vorgabe sind 3 Sub-Prozeduren).

Leere Prozeduren

Listet alle Prozeduren ohne Code auf. Sie können Kommentare und Direktiven enthalten. Zum Beispiel wird

begin
  {$IFDEF win32}write;{$ENDIF} 
end;

unter Linux aufgelistet.

Leere Blöcke

Listet alle leeren Blöcke auf wie begin..end oder repeat..until. Blöcke welche Kommentare enthalten, werden nicht aufgelistet. Leere Blöcke können endlose Schleifen sein oder sie wurden beim Aufräumen vergessen.

Leere Klassensektionen

Listet alle leeren Klassensektionen auf wie private, public, protected.

Unbenannte Konstanten

Listet alle literalen Konstanten in Anweisungen auf, das bedeutet Konstanten, die keinen Namen haben. Definieren Sie in den nachfolgenden Textfeldern was nicht aufgelistet werden soll.

Nicht sortierte Sichtbarkeit

Listet alle Klassensektionen auf, die nicht sortiert sind (zum Beispiel wenn eine private Sektion nach einer public Sektion kommt).

Nicht sortierte Mitglieder

Listet alle Klassenvariablen, -methoden und -eigenschaften auf, die nicht alphabetisch sortiert sind.

Falsche Einrückung

Listet alle Stellen mit verdächtigen Einrückungen auf. Zum Beispiel:

Im nächsten Beispiel wurde die then-Anweisung versehentlich gelöscht:

for i:=0 to 10 do
  if i=0 then
writeln('');

Published-Eigenschaften ohne Voreinstellung

Listet alle Eigenschaften ohne einen Vorgabewert auf. Zum Beispiel:

published
  property Flag: booolean read FFlag write SetFlag;

Seit FPC 2.2.4 werden solche Eigenschaften so behandelt, als hätten sie den nodefault Spezifizierer. Das bedeutet, dass sie immer in einer lfm-Datei gespeichert werden.

ToDos

Listet alle ToDos auf. Siehe ToDo-Liste.

Nächste unbenannte Konstanten übergehen

Diese Konstanten werden nicht in der unbenannten Kategorie aufgelistet. Beispiele:

0
1
'a'
'abc'
#3
#$3

Übergehe Konstanten in den nächsten Funktionen

Konstanten, die als Parameter an die folgenden Funktionen übergeben werden, werden nicht in der unbenannten Kategorie aufgelistet. Es gibt zwei Typen. Zum Beispiel:

Write
.ParamByName

Beachten Sie den Punkt vor 'ParamByName'.

Ergebnis:

Write('A'); // 'A' wird ignoriert
MemStream.Write('A'); // 'A' wird aufgelistet
DataModule1.SQLQuery1.Params.ParamByName('ART_ID').AsString; // wird ignoriert
ParamByName('ART_ID').AsString; // wird aufgelistet

Debuggereinstellungen

Allgemein

Debuggereinstellungen-Allgemein-qt.png

Debuggertyp und -pfad

Wählen sie den Debugger.

  • None - Kein debugger. Bei Start wird einfach das Programm ausgeführt.
  • GNU debugger (gdb) - Der gdb ist kein Teil von Lazarus. Sofern sie nicht Windows benutzen, müssen sie ihn selbst installieren. Dies ist das Bindeglied zu gdb. Sie müssen den Pfad zu gdb (zum Beispiel /usr/bin/gdb) im Feld darunter einrichten.
  • GNU debugger through SSH - für remote debugging. Sie können eine SSH Verbindung zu einem anderen Computer verwenden und gdb dort ausführen. Sie benötigen eine SSH Verbindung ohne Passwortabfrage dafür. Schauen sie in der SSH Dokumentation nach, wie man das macht.

Zusätzlicher Suchpfad

Sie können zusätzliche Verzeichnisse hinzufügen, um nach den Quellen zu suchen, die in den Debugging-Informationen des executable genannt sind. Dies wird für alle Projekte verwendet.

Allgemeine Debuggereinstellungen

Meldung beim Anhalten anzeigen

Aktivieren sie dies um eine Meldung zu zeigen, wenn das Programm anhält.

Debugger nach jedem Lauf zurücksetzen

Spezifische Debuggereinstellungen

Jeder Debuggertyp hat spezielle Einstellungen.

GNU Debugger (gdb)

  • OverrideRTLCallingConvention:

This is an internal flag and can stay default. Um Software Exceptions handzuhaben, verwendet Lazarus einige interne Haltepunkte an Stellen, wo diese Exceptions aufgeworfen werden. Wenn ein executable is fully compiled with debug info (thus also the RTL) one can retrieve the agruments passed to those exception routines. However that is usually not the case, so Lazarus has its internal way of examinig the callstack and registers. In order to interprete those arguments correctly it needs to know what the internal calling convention was of those routines. Pre FPC 1.9.x arguments were passed on stack. Nowadays arguments are passed in registers. In case the the FPC version detection routine draws the wrong conclusion, können sie hier die calling convention aufheben.

Ereignisprotokoll

Debuggereinstellungen-Ereignisprotokoll-qt.png

Allgemein

Eventuell logging info should go the the event log, fürs erste werden sie im Debuggerausgaben Fenster gezeigt.

  • Log beim Start löschen: löscht das Debug-Ausgabefenster bei jedem Start des Programms.
  • Zeilenzählung begrenzen auf: behält nur die letzten Zeilen des Outputs.

Nachrichten...

(nicht implementiert)

Hier wird eingestellt, welche Nachrichten ins Ereignisprotokoll geschrieben werden.

  • Haltepunkt
  • Prozeß
  • Thread
  • Modul
  • Ausgabe
  • Fenster
  • Interface

Sprach-Ausnahmen

Debuggereinstellungen-Sprach-Ausnahmen-qt.png

Programme können Exceptions verursachen. Zum Beispiel, wenn eine Datei nicht gelesen werden kann. Hier können sie einrichten, ob der Debugger bei einer Exception stoppen soll.

Diese Ausnahmen übergehen

Fügen sie hier ihre zu ignorierenden Exceptions hinzu. Zum Beispiel: EDivByZero

Bei Lazarus-Ausnahmen benachrichtigen

Deaktivieren sie diese Option, wenn sie bei keiner Exception halten wollen.

Betriebssystem-Ausnahmen

Debuggereinstellungen-Betriebssystem-Ausnahmen-qt.png

Signale

(nicht implementiert)

Definiert, ob Signale vom Debugger oder vom Anwenderprogramm behandelt werden. Zum Beispiel, eine Division durch null wird zuerst vom Betriebssystem signalisiert. Dann übersetzt die FPC RTL dies in ein EDivByZero. When the signal is handled by the debugger, wird das Programm angehalten, bevor die RTL diese Nachricht übersetzt. Gegenwärtig stoppt der Debugger immer bei einem Signal.