Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So konfigurieren Sie die Syntaxhervorhebung in SQLcl

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.