Navigation

Ed42 bietet eine Vielfalt von Navigationsmöglichkeiten:

Navigation über Cursortasten/Tastenkombinationen

Die folgende Tabelle listet die Möglichkeiten auf, über Cursortasten/Tastenkombinationen die Cursorposition zu verändern.
 
Cursortaste / Tastenkombination Wirkung
Pfeil rechts Der Cursor wird um ein Zeichen nach rechts verschoben (es sei denn, die maximale Zeilenlänge (2048 Zeichen) ist erreicht).
Strg-Pfeil rechts Der Cursor wird auf den Beginn des nächsten Wortes (das in der nächsten Zeile sein kann) verschoben (was das nächste Wort ist, hängt von den aktuell definierten Delimitern ab).
Pfeil links Wenn der Cursor nicht in der ersten Spalte der aktuellen Zeile steht, wird er um ein Zeichen nach links verschoben.
Strg-Pfeil links Der Cursor wird auf den Beginn des vorherigen Wortes gesetzt. Ggf. wird dabei in die darüberliegende Zeile gewechselt. Bzgl. der Definition von Wortgrenzen vgl. die Ausführungen zu Strg-Pfeil rechts.
Pfeil hoch Wenn der Cursor nicht in der ersten Zeile des aktuellen Dokumentes steht, wird der Cursor um eine Zeile nach oben verschoben.
Pfeil runter Wenn der Cursor nicht in der letzten Zeile des aktuellen Dokumentes steht, wird der Cursor um eine Zeile nach unten verschoben.
Pos1 Der Cursor wird auf das erste Zeichen der aktuellen Zeile gesetzt.
Strg-Pos1 Der Cursor wird auf das erste Zeichen der ersten Zeile der aktuellen Datei gesetzt.
Ende Der Cursor wird auf das letzte Zeichen (das kein Leerzeichen ist) der aktuellen Zeile gesetzt.
Strg-Ende Der Cursor wird auf das erste Zeichen der letzten Zeile des aktuellen Dokuments gesetzt.
Bild hoch Der Cursor wird um eine Bildschirmseite nach oben verschoben. Ist das nicht möglich, wird der Cursor auf die erste Zeile der aktuellen Datei gesetzt. Die Spaltenposition bleibt unverändert.
Strg-Bild hoch Der Cursor wird auf das erste Zeichen der ersten aktuell angezeigten Zeile gesetzt.
Bild runter Der Cursor wird um eine Bildschirmseite nach unten verschoben. Ist das nicht möglich, wird der Cursor auf die letzte Zeile der aktuellen Datei gesetzt. Die Spaltenposition bleibt unverändert.
Strg-Bild runter Der Cursor wird auf das erste Zeichen der letzten aktuell angezeigten Zeile gesetzt.
Tab Die Wirkung der Taste ist von den Projekteinstellungen abhängig. Ist eine feste Tabulatorlänge eingestellt, wird der Cursor um diese Anzahl Zeichen nach rechts verschoben (es sei denn die maximale Zeilenlänge ist erreicht). Ist keine feste Tabulatorlänge eingestellt, wechselt der Cursor zu der Position, die in einer darüberliegenden Zeile (dabei haben die 'näherliegenden' Zeilen Priorität) dem ersten Zeichen nach einem Leerzeichen entspricht. Ist über die Projektoptionen konfiguriert, daß Tabs einrücken, wird bei Betätigung der Tab-Taste der Text in der aktuellen Zeile mit verschoben. 
Umsch-Tab Die Wirkung ist entgegengesetzt zur Wirkung der Tab-Taste bis auf den Umstand, daß in keinem Fall der Text der aktuellen Zeile verschoben wird. 
F4 Die Datei, deren Name im Quelltext markiert ist, wird geladen. Ist keine Datei markiert, wird als Dateiname das Wort verwendet, auf dem der Cursor steht. Bzgl. der Definition von Wortgrenzen vgl. die Ausführungen zu Strg-Pfeil rechts. Enthält der Dateiname keine Extension wird '.*' als Standardextension angenommen. Vgl.
Laden einer im Quellcode referenzierten Datei.
Umsch-F4 Wechseln zur vorherigen Datei (in der aktuellen Bearbeitungsreihenfolge).
F5 Wechseln zur nächsten Datei (in der aktuellen Bearbeitungsreihenfolge).

 

Navigation über die Maus

Mit der Maus kann (wie üblich) eine beliebige Position der angezeigten Zeilen über einen einfachen Mausklick erreicht werden. Des weiteren kann über die Maus die Funktionen der Scrollbalken verwendet werden:
  • Horizontale Scrollbalken:
    • Zeichenweises Scrollen über Drücken des linken (bzw. rechten) Pfeils oder durch Klicken auf den Bereich links (bzw. rechts) der Positionsmarke.
    • Relative Positionierung durch Bewegen der Positionsmarke.
  • Vertikale Scrollbalken:
    • Zeilenweises Scrollen über Drücken des oberen bzw. unteren Pfeils.
    • Seitenweises Blättern über Klicken auf den Bereich oberhalb bzw. unterhalb der Positionsmarke.
    • Relative Positionierung durch Bewegung der Positionsmarke.

Wechsel der Datei über Dateiregister/Dateileiste

Das Dateiregister und die Dateileiste bieten effiziente Möglichkeiten, die aktuelle Datei zu wechseln. Die Verwendung der Dateileiste ist eher bei Projekten mit vielen Dateien geeignet. Das Erscheinungsbild der Dateileiste (incl. der Art der Sortierung und der Form der Dateiselektion) kann über die Projektoptionen (Registerkarte Dateileiste) konfiguriert werden. Ob das Dateiregister oder/und die Dateileiste angezeigt werden, ist über die Projektoptionen (Registerkarten Navigation bzw. Dateileiste) oder über das Menü Navigieren einstellbar.
 
 

Wechsel zu Prozeduren, Funktionen, Interface-, Klassen- und Typdeklarationen

Ed42 bietet die Möglichkeit, Prozeduren und Funktionen (d.h. deren Implementierungen) sowie Interface-, Klassen- und Typdeklarationen direkt anzusteuern. Dies kann über zwei Vorgehensweisen erreicht werden:
  • Wahl des entsprechenden Ziels in dem zugehörigen Register. Dies setzt voraus, das über die Projektoptionen (Registerkarte Navigation) bzw. Navigation|Navigationsregister anzeigen die Verwendung des Navigationsregisters aktiviert wurde.
  • Markierung des Zielbezeichners im Quelltext (z.B. der Funktionsname beim Aufruf der Funktion in einer anderen Funktion/Prozedur) und anschließendes Drücken von Umsch-Strg-G (bzw. Navigation|Suche Deklaration/Implementierung). Sind mehrere Ziele mit diesem Namen vorhanden, wird ein Dialog angezeigt, in dem das gewünschte Ziel ausgewählt werden kann.
Die Voraussetzung für beide Vorgehensweisen ist, daß Ed42 die zugehörigen Informationen bekannt sind. Dabei sind zwei Fälle zu unterscheiden.
  1. Die Informationen können automatisch erzeugt werden.
  2. Die Informationen können nur mit Unterstützung des Benutzers ermittelt werden.
Fall 1. trifft auf Delphi, Java- und Javascript-Files zu falls
  • das Zulassen automatischen Parsens über die Projektoptionen (Registerkarte Navigation) und
  • ein entsprechender Eintrag in den Definitions-Files für Delphi, Java und Javascript (vgl. Sprachunterstützung) vorhanden ist.
Die Navigationsinformationen werden (für die betroffenen Files) beim Laden und beim Speichern - falls über die  Projektoptionen konfiguriert - aktualisiert. Darüberhinaus kann über die Menüpunkte Navigieren|Aktuelle Datei scannen bzw. Navigieren|Dateien scannen oder das Pulldown-Menü, das über die rechte Maustaste erreichbar ist, eine Aktualisierung gestartet werden.

Fall 2. trifft auf alle anderen Sprachen zu, da für diese bisher keine entsprechender Parser in Ed42 integriert wurde (und für Delphi-, Java- und Javascript-Files falls die obigen Voraussetzungen für das automatische Parsen nicht gegeben sind). Um Ed42 mit den gewünschten Navigationsinformationen zu versorgen, sind folgende Schritte notwendig:

  1. Die Konstrukte, die als Ziel erreichbar sein sollen, müssen markiert werden. Dies kann über die Menüpunkte
    • Als Prozedur markieren
    • Als Funktion markieren
    • Als Typdeklaration markieren
    • Als Klassendeklaration markieren
    • Als Interface markieren
    geschehen, die über das Menü Navigieren oder das Popup-Menü (rechte Maustaste) erreichbar sind (welche dieser Menüpunkte tasächlich angezeigt wird, ist abhängig von den Spracheinstellungen, s.u.). Als Zielname wird dabei entweder das Wort verwendet, auf dem der Cursor steht oder, falls ein Wort markiert ist, das markierte Wort. Enthält (bei der Markierung einer Funktion oder einer Prozedur) der Zielname den Klassendelimiter (siehe Sprachunterstützung), wird die Funktion bzw. Prozedur intern als Methode gespeichert (d.h. daß später bei der Zielsuche nur der Methodenname angegeben werden muß).

    Das Ergebnis der Markierung ist ein Kommentar, der durch den Bediener von Ed42 nicht verändert werden sollte (ansonsten ist das Ziel u.U. nicht mehr als solches erkennbar).

  2. Damit schließlich die markierten Ziele Ed42 bekannt gemacht werden, müssen entweder alle Dateien oder die aktuell modifizierte Datei gescannt werden. Der Scan-Vorgang kann über den Menüpunkt Navigieren|Dateien scannen bzw. Navigieren|Aktuelle Datei scannen ausgelöst werden. Alle von Ed42 durch das Scannen erkannten Ziele werden in den zughörigen Navigationsregistern angezeigt (s.o.).
  3. Welche Sprachkonstrukte (d.h. Prozeduren, Funktionen, ...) für eine Sprache relevant sind, kann über das zugehörige Definitions-File festgelegt werden (vgl. Sprachunterstützung). Im Menü Navigieren bzw. im Popup-Menü (rechte Maustaste) weden nur die Einträge angezeigt, die für die Sprache des aktuellen Textes relevant sind. Ist für eine Datei keine Sprach-Definitions-Datei vorhanden (das betrifft z.B. alle Dateien ohne Suffix), werden alle Menüeinträge angezeigt.
Das Erscheinungsbild des Navigationsregisters (Breite und Schriftgröße) kann über die Projektoptionen (Registerkarte Navigation) verändert werden.
 

Laden einer im Quellcode referenzierten Datei

Über Navigieren|Lade Datei unter Cursor (Shortcut F4) kann eine im Quelltext referenzierte Datei geladen werden. Ist kein Bezeichner im Quelltext markiert, wird das Wort verwendet auf dem der Cursor steht (bzgl. der Definition von Wortgrenzen vgl. die obigen Ausführungen zu Tastenkombination Strg-Pfeil rechts).

Die zu ladende Datei wird im Arbeitsverzeichnis (konfigurierbar über die Projektoptionen, Registerkarte Pfade) sowie den eingestellten Includeverzeichnissen gesucht. Ist kein Arbeitsverzeichnis konfiguriert, wird stattdessen das aktuelle Verzeichnis verwendet. Werden mehrere passende Dateien gefunden, erhält der Benutzer einen Auswahldialog.

Goto-Dialog

Der Goto-Dialog (erreichbar über Navigieren|Go to bzw. Strg-G) ermöglicht es, direkt zu einer bestimmten Position in der aktuellen Datei zu wechseln. Die Position muß vom Benutzer durch die Angabe der Zeilen- und Spaltennummer spezifiziert werden.

Sprung-Markierungen

Ed42 bietet die Möglichkeit, Sprungziele zu definieren und zu verwalten. Die folgende Tabelle enthält die verschiedenen Möglichkeiten zum Umgang mit Sprungzielen.
 
Shortcut Erreichbar über Menü Wirkung
Strg-J-I Navigieren|Sprungziele|Sprungziel einfügen Die aktuelle Zeile wird zum Sprungziel. Gehört die aktuelle Zeile zu einem markierten Block, wird der markierte Text als Kennung der Sprungmarke (Vgl. Übersicht der Sprungziele) gespeichert, ansonsten wird der Inhalt der aktuellen Zeile als Kennung verwendet.
Strg-J-D Navigieren|Sprungziele|Sprungziel löschen Ist die aktuelle Zeile ein Sprungziel, wird das Sprungziel gelöscht.
Strg-J-A Navigieren|Sprungziele|Alle Sprungziele löschen Alle definierten Sprungziele werden (in allen Dateien) gelöscht
Strg-J-N Navigieren|Sprungziele|Zum nächsten Sprungziel Ist innerhalb der aktuellen Datei ein Sprungziel hinter der aktuellen Zeile definiert, wird zu diesem Sprungziel gewechselt.
Strg-J-P Navigieren|Sprungziele|Zum vorherigen Sprungziel Ist innerhalb der aktuellen Datei ein Sprungziel vor der aktuellen Zeile definiert, wird zu diesem Sprungziel gewechselt.
Umsch-Strg-J Navigieren|Sprungziele|Übersicht Es wird eine Übersicht der in allen Dateien definierten Sprungziele angezeigt (es wird die zugehörige Zeile bzw. der zugehörige Block angezeigt (vgl. Sprungziel einfügen)). Über einen Doppelklick auf eines dieser Sprungziele wird zu diesem Sprungziel verzweigt.

Alle in der Tabelle aufgeführten Möglichkeiten sind auch in einem Popup-Menü enthalten, das erreicht wird, wenn die rechte Maustaste in Kombination mit der Strg-Taste gedrückt wird.

Die in einem Projekt (d.h. in den Dateien, die zu dem Projekt gehören) definierten Sprungzielen werden persistent gespeichert, d.h. nach einem Neustart von Ed42 und dem Laden des gleichen Projekts, sind die Sprungziele wieder verfügbar.


Last Change: 27.10.2001
© Copyright by Stefan Brüning. All rights reserved