Bearbeitungsfunktionen

Die PureBasic IDE verhält sich wie jeder andere Texteditor, wenn wir auf die grundlegenden Bearbeitungsfunktionen zu sprechen kommen. Die Cursortasten, genauso wie die Bild auf-/Bild ab-, Pos 1- und Ende-Tasten können zur Navigation durch den Code verwendet werden. Strg+Pos 1 springt an den Anfang der Datei und Strg+Ende an das Ende.

Die Standard-Tastenkürzel Strg+A (Alles markieren), Strg+C (Kopieren), Strg+X (Ausschneiden) und Strg+V (Einfügen) können für das Bearbeiten verwendet werden. Über die "Einfg"-Taste wird bestimmt, ob Text eingefügt oder überschrieben wird. Die "Entf"-Taste veranlasst ein vorwärts löschen. Durch Festhalten der Umschalt-Taste (Shift) und Benutzung der Pfeiltasten wird Text ausgewählt.

Weiterhin hat die IDE viele zusätzliche Bearbeitungsfunktionen, die speziell für die Programmierung bzw. PureBasic sind.

Einrückung:

Wenn Sie Return/Enter drücken, dann wird die Einrückung (Anzahl an Leerzeichen/Tabs am Anfang der Zeile) der aktuellen und der nächsten Zeile automatisch korrigiert, abhängig von den auf diesen Zeilen vorhandenen Schlüsselwörtern.
Ein "Block-Modus" ist ebenfalls verfügbar, wobei die neue Zeile einfach die gleiche Einrückung wie die vorherige erhält. Die Details dieser Funktion können in den Einstellungen angepasst werden.

Tabulator-Zeichen:

Standardmäßig fügt die IDE beim Drücken der Tabulator-Taste keine echten Tabulator-Zeichen ein, da viele Programmierer es als eine nicht so gute Sache ansehen, echte Tabs im Quellcode zu verwenden.

Die IDE fügt stattdessen zwei Leerzeichen ein. Dieses Verhalten kann in den Voreinstellungen geändert werden. Siehe Anpassen der IDE für weitere Informationen.

Spezielles Tabulator-Verhalten:

Wenn die Tabulator-Taste gedrückt wird, während nichts oder nur einige Zeichen ausgewählt sind, agiert die Tab-Taste wie oben beschrieben (es werden eine Anzahl Leerzeichen oder ein echtes Tab-Zeichen eingefügt, wenn entsprechend konfiguriert).

Wenn jedoch eine oder mehrere vollständige Zeilen selektiert sind, dann ist die Reaktion anders. In diesem Fall werden am Anfang jeder ausgewählten Zeile Leerzeichen oder ein Tab-Zeichen (abhängig von der Konfiguration) eingefügt. Dies vergrößert die Einrückung des gesamten selektierten Blocks.

Das Markieren mehrerer Zeilen Text und Drücken von Shift+Tab kehrt dieses Verhalten um. Es entfernt Leerzeichen/Tabs am Anfang jeder Zeile, um die Einrückung des gesamten Blocks zu verringern.

Einrückung/Ausrichtung von Kommentaren:

Ähnlich dem speziellen Tabulator-Verhalten oben können die Tastenkürzel Strg+E und Strg+Shift+E (CMD+E und CMD+Shift+E auf OSX) verwendet werden, um nur die Einrückung der Kommentare in einem ausgewählten Block des Quellcodes zu verändern. Dies hilft beim Ausrichten von Kommentaren am Ende von Code-Zeilen, um den Code besser lesbar zu machen. Die verwendeten Tastenkürzel können in den Einstellungen geändert werden.

Auswahl von Code-Blöcken:

Das Tastenkürzel Strg+M (CMD+M auf OSX) kann verwendet werden, um den Block des Quellcodes auszuwählen, der die aktuelle Cursor-Position beinhaltet (d.h. der umgebende If-Block, die Schleife oder Prozedur). Die wiederholte Nutzung dieses Tastenkürzels wählt weitere umgebende Code-Blöcke aus.

Das Tastenkürzel Strg+Shift+M (CMD+Shift+M auf OSX) kehrt dieses Verhalten um und ändert die Auswahl wieder auf den Block, der vor der letzten Verwendung des Strg+M Tastenkürzels ausgewählt war.

Die verwendeten Tastenkürzel können in den Einstellungen geändert werden.

Doppelklick auf Quellcode-Text:

Ein Doppelklick auf ein "Wort" markiert wie üblich das gesamte Wort. Dennoch hat unter manchen Umständen ein Doppelklick eine spezielle Bedeutung:

Beim Doppelklick auf den Namen eines Prozedur-Aufrufs, während die Strg-Taste gedrückt ist, springt der Cursor automatisch zur Prozedur-Deklaration (der Quellcode, der diese enthält, muss geöffnet oder Teil des selben Projektes sein).

Beim Doppelklick auf eine IncludeFile bzw. XincludeFile Anweisung wird die IDE versuchen, diese Datei zu öffnen. (Die ist nur möglich, wenn der Name der einzubindenden Datei als ein Buchstaben-String geschrieben wurde, und nicht z.B. als Konstante.)

In der gleichen Art und Weise wird bei einem Doppelklick auf die IncludeBinary Anweisung die IDE versuchen, diese Datei mit dem internen Dateibetrachter anzuzeigen.

Markierung passender Klammern und Schlüsselwörter:

Wenn sich der Cursor auf einer öffnenden oder schließenden Klammer befindet, wird die IDE die andere dazugehörende Klammer hervorheben. Wenn eine passende Klammer nicht gefunden werden konnte (was in PureBasic einen Syntax-Fehler darstellt), wird die IDE die aktuelle Klammer in rot hervorheben. Das gleiche Konzept gilt auch für Schlüsselwörter. Befindet sich der Cursor auf einem Schlüsselwort wie "If", wird die IDE dieses Schlüsselwort unterstreichen und ebenso alle dazugehörigen Schlüsselwörter wie "Else" oder "EndIf". Gibt es unter den Schlüsselwörtern eine Nichtübereinstimmung, werden diese in rot unterstrichen. Der weiter unten beschriebene Menüeintrag "Gehe zum dazugehörenden Schlüsselwort" kann verwendet werden, um schnell zwischen zusammengehörenden Schlüsselwörtern hin und her zu springen.

Die Klammern- und Schlüsselwort-Übereinstimmung kann in den Einstellungen angepasst werden.

Befehls-Hilfe in der Statuszeile:

Während der Eingabe wird die IDE für jede PureBasic-Funktion, deren Parameter gerade eingegeben werden, alle benötigten Parameter anzeigen. Dies macht es einfach zu sehen, welche Parameter Sie noch zu dieser Funktion hinzufügen müssen. Dies funktioniert auch bei Prozeduren, Prototypes, Interfaces und importierten Funktionen in Ihrem Code, solange sie im gleichen Quellcode bzw. Projekt deklariert wurden.

Faltungs-Optionen:

Wenn die IDE auf spezielle Faltungs-Schlüsselwörter stößt (Procedure / EndProcedure zum Beispiel, weitere können hinzugefügt werden), dann markiert die IDE den Bereich zwischen diesen Schlüsselwörtern auf der linken Seite neben den Zeilennummern mit einem [-] am Startpunkt, gefolgt von einer senkrechten Linie bis zum Endpunkt.

Durch Anklicken des [-] können Sie diesen Teil des Quellcodes verstecken ("falten"), um bei größeren Quellcode-Dateien einen besseren Überblick zu behalten. Das [-] wird dann in ein [+] geändert. Durch erneutes Anklicken wird der Code wieder angezeigt ("entfaltet").

Hinweis: Auch wenn der Status dieser gefalteten Code-Zeilen erhalten bleibt, wenn Sie die Datei speichern/erneut öffnen, so behält doch die gerade erstellte Quellcode-Datei alle Zeilen. Die Faltung wirkt sich nur auf die Darstellung des Codes in der IDE aus, nicht auf den Code selbst.

Weitere Standardschlüsselwörter für das Falten sind ";{" und ";}". Da ";" einen Kommentar in PB markiert, wird dieser vom Compiler vollständig ignoriert. Diese bieten damit jedoch die Möglichkeit, selbst erstellte Faltungspunkte - die nicht einem speziellen PB-Schlüsselwort entsprechen - im Code zu platzieren.

Automatisches Vervollständigen:

Damit Sie sich nicht den exakten Namen jedes einzelnen Befehls merken müssen, gibt es die Funktion zum "Automatischen Vervollständigen", um Ihnen das Leben einfacher zu machen.

Nachdem Sie den Anfang eines Befehls eingegeben haben, wird eine Liste möglicher Übereinstimmungen mit dem eben von Ihnen eingegebenen Anfangswort angezeigt. Eine Liste mit Optionen wird auch angezeigt, wenn Sie eine strukturierte Variable oder Interface gefolgt von einem "\" eingegeben haben.

Sie können nun eines dieser Worte mit den Hoch-/Runter-Pfeiltasten auswählen und an der aktuellen Cursor-Stelle mittels der Tab-Taste einfügen. Sie können auch einfach weiterschreiben, während die Liste geöffnet ist. Es wird dann die erste Übereinstimmung - die nach Ihrem Weiterschreiben immer noch möglich ist - genommen und die Liste automatisch geschlossen, wenn entweder eine exakte Übereinstimmung vorliegt oder es keine weiteren möglichen Übereinstimmungen in der Liste mehr gibt.

Escape schließt die "Auto-Vervollständigen" Liste zu jeder Zeit. Sie wird auch geschlossen, wenn Sie mit der Maus irgendwohin in die IDE klicken.

Hinweis: Sie können in den Voreinstellungen konfigurieren, was in der "Auto-Vervollständigen"-Liste angezeigt wird, genauso wie auch das automatische Aufklappen der Liste ausschalten (benötigt dann einen Tastenkürzel wie Strg+Leertaste, um die Liste zu öffnen). Siehe auch den Abschnitt zum "Automatischen Vervollständigen" in Anpassung der IDE für weitere Informationen.

Werkzeugtafel an der Seite:

Viele Werkzeuge, um das Navigieren/Bearbeiten des Quellcodes einfacher zu machen, können zur Werkzeugtafel an der Seite des Editorfensters hinzugefügt werden. Für einen Überblick darüber und wie Sie diese konfigurieren, sehen Sie in Eingebaute Werkzeuge.

Das Bearbeiten-Menü:

Im folgenden Abschnitt erhalten Sie eine Erklärung der Einträge im Bearbeiten-Menü. Beachten Sie, dass auf viele der Bearbeiten-Menüeinträge auch durch einen Rechtsklick in den Quellcode zugegriffen werden kann, weil dann ein Aufklapp-Menü geöffnet wird.

Rückgängig
Macht die zuletzt im Editier-Bereich gemachte Änderung am Code rückgängig. Es gibt einen Puffer dafür, weshalb mehrere Aktionen rückgängig gemacht werden können.

Wiederholen
Wiederholt die letzte Aktion, die durch die Rückgängig-Funktion rückgängig gemacht wurde.

Ausschneiden
Kopiert den ausgewählten Teil des Quellcodes in die Zwischenablage und entfernt ihn aus dem Code.

Kopieren
Kopiert den ausgewählten Text in die Zwischenablage, ohne diesen aus dem Code zu löschen.

Einfügen
Fügt den Inhalt der Zwischenablage an der aktuellen Position in den Code ein. Wenn irgendwelcher Text vorher markiert war, wird dieser entfernt und durch den Inhalt der Zwischenablage ersetzt.

Blockkommentar einfügen
Fügt einen Kommentar (";") vor jeder Zeile des ausgewählten Code-Blocks ein. Dies macht das Auskommentieren größerer Code-Abschnitte einfacher, als das ";" manuell vor jeder Zeile einzufügen.

Blockkommentar entfernen
Entfernt die Kommentar-Zeichen am Anfang jeder ausgewählten Zeile. Dies kehrt den Menü-Befehl "Blockkommentar einfügen" um, funktioniert jedoch auch mit manuell gesetzten Kommentaren.

Einrückung formatieren
Formatiert den Einzug (Einrückung) der markierten Zeilen neu - ausgerichtet am Code über ihnen und unter Beachtung ihrer enthaltenen Schlüsselwörter. Die Regeln für den Einzug können in den Einstellungen angegeben werden.

Alles auswählen
Markiert den gesamten Quellcode.

Gehe zu
Dies ermöglicht Ihnen, zu einer bestimmten Zeile in Ihrem Quellcode zu springen.

Gehe zum dazugehörenden Schlüsselwort
Befindet sich der Cursor aktuell auf einem Schlüsselwort wie "If", springt die Menü-Option direkt zum dazugehörenden Schlüsselwort (in diesem Fall "EndIf").

Letzte Zeile
Die IDE merkt sich die Zeilen, die Sie angesehen haben (wo der Cursor stand). Zum Beispiel, wenn Sie mit der oben beschriebenen "Gehe zu"-Funktion oder dem Prozedurliste-Werkzeug zu einer anderen Zeile springen. Mit diesem Menü-Befehl springen Sie an die zuletzt aufgesuchte Position zurück. 20 solcher letzten Positionen werden aufgezeichnet.

Beachten Sie, dass hier nur größere Sprünge im Code aufgezeichnet werden. Nicht, wenn Sie sich einfach ein paar Zeilen mit den Pfeiltasten hoch oder runter bewegen.

Aktuelle Faltung umschalten
Dies öffnet/schließt den Faltungspunkt, an dem sich der Cursor gerade befindet.

Faltung umschalten
Dies öffnet/schließt alle Faltungspunkte im aktuellen Quellcode. Sehr nützlich, um zum Beispiel alle Prozeduren im Code zu verstecken. Oder um auf die Schnelle wieder den gesamten Code sehen zu können, wenn manche Code-Abschnitte zusammengefaltet sind.

Markierung hinzufügen/entfernen
Markierungen verhalten sich wie Lesezeichen im Quellcode. Ihre Anwesenheit wird durch einen kleinen Pfeil nahe der Zeilennummer angezeigt. Sie können später mit dem "Springe zu Markierung" Menü-Befehl zu diesen Markierungen springen.

"Markierung hinzufügen/entfernen" setzt oder entfernt eine Markierung auf der gerade von Ihnen bearbeiteten Zeile.

Hinweis: Sie können Markierungen auch hinzufügen/entfernen, indem Sie die Strg-Taste gedrückt halten und auf den Rand (welcher die Markierungen beinhaltet, nicht auf den Bereich der Zeilennummern) klicken.

Springe zu Markierung
Die veranlasst den Cursor, ausgehend von der aktuellen Cursor-Position zur nächsten Markierung weiter unten zu springen. Gibt es keine weitere Markierung nach der aktuellen Cursor-Position, springt er zur ersten Markierung im Quellcode.

Wenn Sie also das "Springe zu Markierung" Tastenkürzel (standardmäßig F2) mehrere Male drücken, können Sie zu allen Markierungen im Code springen.

Markierungen entfernen Dies entfernt alle Markierungen im aktuellen Quellcode.

Suchen/Ersetzen

Der "Suchen/Ersetzen"-Dialog gibt Ihnen die Möglichkeit, nach speziellen Worten in Ihrem Code zu suchen und diese auch mit etwas anderem zu ersetzen.

Der "Weitersuchen"-Schalter startet die Suche. Die Suche kann nach einer Übereinstimmung auch mit dem "Weitersuchen" Menü-Befehl (standardmäßig F3) fortgesetzt werden.

Sie können die Suche genauer machen, indem Sie eines oder mehrere der Häkchen setzen:
Groß-/Kleinschreibung beachten : Nur Text, der auch in der Groß-/Kleinschreibung exakt mit dem Suchbegriff übereinstimmt, wird gefunden.
Nur ganze Wörter : Sucht nach dem angegebenen Suchbegriff als ganzes Wort. In diesem Fall werden keine Ergebnisse angezeigt, bei denen der Suchbegriff ein Teil des Worts ist.
Nicht in Kommentaren suchen : Jede gefundene Übereinstimmung in einem Kommentar wird ignoriert.
Nicht in Strings suchen : Jede gefundene Übereinstimmung, welche in einer Zeichenfolge (String, innerhalb von " ") auftritt, wird ignoriert.
Nur innerhalb der Auswahl suchen : Sucht nur in dem markieren Bereich des Quellcodes. Dies ist nur bei der Verwendung mit dem "Alle ersetzen"-Schalter nützlich, bei dem jede Übereinstimmung ersetzt wird, jedoch nur innerhalb des ausgewählten Bereichs.

Durch Setzen des "Ersetzen mit" Häkchens gelangen Sie in den Ersetzen-Modus. "Weitersuchen" wird weiterhin nur Suchen, aber mit jedem Klick auf den "Ersetzen"-Schalter wird die nächste Übereinstimmung der Suche mit dem ersetzt, was zuvor in der "Ersetzen mit:"-Box eingegeben wurde.

Durch Anklicken von "Alle ersetzen" werden alle Übereinstimmungen von der aktuellen Position abwärts ersetzt (außer "Nur innerhalb der Auswahl suchen" ist markiert).

Weitersuchen
Dies setzt die Suche nach der nächsten Übereinstimmung entsprechend der letzten über den "Suchen/Ersetzen"-Dialog gestarteten Suche fort.

Vorheriges finden
Dies setzt die Suche nach der vorherigen Übereinstimmung entsprechend der letzten über den "Suchen/Ersetzen"-Dialog gestarteten Suche fort.

Suchen in Dateien

Der "Suchen in Dateien"-Dialog gibt Ihnen die Möglichkeit, eine Suche innerhalb vieler Dateien eines bestimmten Verzeichnisses auszuführen.

Sie müssen dazu einen Suchbegriff angeben, genauso wie ein Stammverzeichnis ("root" oder Ausgangsverzeichnis), in welchem gesucht werden soll. Sie können die zu durchsuchenden Dateien durch Angabe eines Dateiendungs-Filter genauer spezifizieren. Eine beliebige Anzahl an Filtern kann getrennt durch "," angegeben werden (*.* oder ein leeres Dateiendungs-Feld sucht in allen Dateien). Wie bei "Suchen/Ersetzen" gibt es Häkchen-Boxen, um die Suche genauer einzugrenzen.

Das Häkchen "Unterverzeichnisse einschließen" veranlasst die IDE, auch (rekursiv) innerhalb aller Unterverzeichnisse des angegebenen Stammverzeichnisses zu suchen.

Nach dem Starten der Suche wird ein separates Fenster geöffnet, welches alle Suchresultate beinhaltet. Dort werden die gefundenen Ergebnisse angezeigt - mit Pfad und Dateinamen, Zeilennummer und zutreffender Zeile jedes gefundenen Suchresultats.

Durch einen Doppelklick auf einen Eintrag im Ergebnisfenster wird die Datei in der IDE geöffnet und der Cursor auf die zutreffende Ergebniszeile gesetzt.