Oracle
 sql >> Database >  >> RDS >> Oracle

Come configurare l'evidenziazione della sintassi in SQLcl

A partire da SQLcl versione 21.2, ora possiamo configurare SQLcl per l'evidenziazione della sintassi.

Ciò significa che il codice che scrivi in ​​SQLcl può essere codificato a colori, in base alle regole di evidenziazione della sintassi che applichi.

Predefinito (evidenziazione della sintassi disattivata)

Ecco una query che ho scritto nel mio Terminale senza evidenziare la sintassi:

Quindi, non si è verificata alcuna codifica a colori. Questo utilizza i colori che ho configurato nelle preferenze del mio Terminale, che in pratica era solo testo bianco su sfondo nero.

Abilita l'evidenziazione della sintassi

Puoi abilitare l'evidenziazione della sintassi con la seguente riga:

set highlighting on

Ciò fornisce un livello base di evidenziazione della sintassi.

Ecco come appare ora la stessa query:

Fondamentalmente, le parole chiave SQL sono evidenziate in ciano, ma nient'altro lo è.

Aggiungi più codici colore

Fortunatamente, possiamo aggiungere altri codici colore.

Ad esempio:

set highlighting identifier foreground magenta

Questo colora tutti gli identificatori con un colore di primo piano magenta:

Salva le impostazioni in un login.sql File

Puoi salvare le impostazioni di evidenziazione della sintassi in un login.sql file.

In questo modo, eviterai di dover configurare queste impostazioni ogni volta che ti connetti utilizzando SQLcl. Questo perché puoi configurarlo in modo tale che login.sql il file viene eseguito ogni volta che ci si connette utilizzando SQLcl.

Ecco un esempio di login.sql file che contiene i comandi di evidenziazione della sintassi:

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

Qui, la mia prima riga non è correlata alla formattazione della sintassi:imposta semplicemente il sqlformat a ansiconsole .

Le righe rimanenti consentono l'evidenziazione della sintassi e specificano quali colori utilizzare.

Dopo aver aggiunto l'evidenziazione della sintassi al tuo login.sql file, esci da SQLcl e riconnettiti. Quando si riconnette, eseguirà login.sql file e tutti quei comandi avranno effetto.

Dopo aver aggiunto i comandi precedenti al mio login.sql file, ecco come appare la mia query ora (dopo essere uscito da SQLcl e ricollegato):

Forse avrei dovuto lasciare le parole chiave su ciano?

Altre opzioni di evidenziazione della sintassi

Ci sono anche altre opzioni, come la possibilità di impostare un colore di sfondo, impostare una bandiera in grassetto, ecc.

Il modo migliore per scoprirli è eseguire il seguente comando:

help set highlighting

Ecco cosa mi restituisce nel momento in cui scrivo:

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

L'elenco dei colori è piuttosto piccolo (almeno al momento della scrittura), ma è comunque sufficiente per fornire un'evidenziazione della sintassi decente.

Dato che l'evidenziazione della sintassi è una nuova funzionalità, è probabile che le opzioni della guida di cui sopra cambieranno e verranno ampliate in futuro.