Ab SQLcl Version 21.2 können wir jetzt SQLcl für Syntaxhervorhebung konfigurieren.
Das bedeutet, dass der Code, den Sie in SQLcl schreiben, farbcodiert werden kann, basierend auf den von Ihnen angewendeten Syntaxhervorhebungsregeln.
Die Standardeinstellung (Syntaxhervorhebung aus)
Hier ist eine Abfrage, die ich in mein Terminal ohne Syntaxhervorhebung geschrieben habe:
Es ist also keine Farbcodierung aufgetreten. Dies verwendet die Farben, die ich in den Einstellungen meines Terminals konfiguriert habe, was im Grunde nur weißer Text auf schwarzem Hintergrund war.
Syntaxhervorhebung aktivieren
Sie können die Syntaxhervorhebung mit der folgenden Zeile aktivieren:
set highlighting on
Dies bietet eine grundlegende Ebene der Syntaxhervorhebung.
So sieht dieselbe Abfrage jetzt aus:
Grundsätzlich werden SQL-Schlüsselwörter in Cyan hervorgehoben, aber sonst nichts.
Weitere Farbcodierung hinzufügen
Glücklicherweise können wir weitere Farbcodierungen hinzufügen.
Zum Beispiel:
set highlighting identifier foreground magenta
Dies färbt alle Bezeichner mit einer Vordergrundfarbe von Magenta:
Speichern Sie die Einstellungen in einer login.sql
Datei
Sie können Ihre Syntaxhervorhebungseinstellungen in einer login.sql
speichern Datei.
Auf diese Weise ersparen Sie es sich, diese Einstellungen jedes Mal konfigurieren zu müssen, wenn Sie sich mit SQLcl verbinden. Dies liegt daran, dass Sie es so konfigurieren können, dass die login.sql
Datei wird jedes Mal ausgeführt, wenn Sie sich mit SQLcl verbinden.
Hier ist ein Beispiel für eine login.sql
Datei, die Befehle zur Syntaxhervorhebung enthält:
set sqlformat ansiconsole
set highlighting on
set highlighting keyword foreground blue
set highlighting identifier foreground magenta
set highlighting string foreground green
set highlighting number foreground cyan
set highlighting comment foreground yellow
Hier bezieht sich meine erste Zeile nicht auf die Syntaxformatierung – sie richtet nur das sqlformat
ein zu ansiconsole
.
Die verbleibenden Zeilen aktivieren die Syntaxhervorhebung und geben an, welche Farben verwendet werden sollen.
Nachdem Sie Ihrer login.sql
Syntaxhervorhebung hinzugefügt haben Datei, beenden Sie SQLcl und verbinden Sie sich erneut. Wenn die Verbindung wiederhergestellt wird, wird login.sql
ausgeführt Datei, und alle diese Befehle werden wirksam.
Nachdem ich die obigen Befehle zu meiner login.sql
hinzugefügt habe Datei, so sieht meine Abfrage jetzt aus (nachdem ich SQLcl beendet und wieder verbunden habe):
Vielleicht hätte ich die Keywords bei Cyan belassen sollen?
Andere Syntaxhervorhebungsoptionen
Es gibt auch andere Optionen, wie z. B. die Möglichkeit, eine Hintergrundfarbe festzulegen, ein Fett-Flag zu setzen usw.
Der beste Weg, diese zu entdecken, ist die Ausführung des folgenden Befehls:
help set highlighting
Hier ist, was das für mich zum Zeitpunkt des Schreibens dieses Artikels zurückgibt:
set highlighting <flag> | <type> RESET | <type> FOREGROUND <color> | <type> BACKGROUND <color> | <type> BOLD <flag> | <type> ULINE <flag> | <type> INVERSE <flag> <type> = DEFAULT | COMMENT | STRING | NUMBER | PUNCTUATION | KEYWORD | IDENTIFIER <color> = RED | BLUE | BLACK | CYAN | GREEN | MAGENTA | WHITE | YELLOW <flag> = ON | OFF | RESET EXAMPLES set highlighting on
Die Liste der Farben ist ziemlich klein (zumindest zum Zeitpunkt des Schreibens), aber es reicht immer noch aus, um eine anständige Syntaxhervorhebung zu bieten.
Da die Syntaxhervorhebung eine neue Funktion ist, ist es wahrscheinlich, dass sich die oben genannten Hilfeoptionen ändern und in Zukunft erweitert werden.