 |
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.
-
Die Informationen können automatisch erzeugt werden.
-
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:
-
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).
-
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.).
-
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. |