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

Sådan konfigureres syntaksfremhævning i SQLcl

Fra og med SQLcl version 21.2 kan vi nu konfigurere SQLcl til syntaksfremhævning.

Det betyder, at den kode, du skriver i SQLcl, kan farvekodes, baseret på de syntaksfremhævningsregler, du anvender.

Standarden (syntaksfremhævning fra)

Her er en forespørgsel, som jeg skrev i min terminal uden syntaksfremhævning:

Så der er ikke fundet nogen farvekodning sted. Dette bruger de farver, som jeg konfigurerede i min terminals præferencer, som dybest set kun var hvid tekst på en sort baggrund.

Aktiver syntaksfremhævning

Du kan aktivere syntaksfremhævning med følgende linje:

set highlighting on

Dette giver et grundlæggende niveau af syntaksfremhævning.

Sådan ser den samme forespørgsel ud nu:

Grundlæggende er SQL-nøgleord fremhævet i cyan, men intet andet er det.

Tilføj mere farvekodning

Heldigvis kan vi tilføje noget mere farvekodning.

For eksempel:

set highlighting identifier foreground magenta

Dette farver alle identifikatorer med en forgrundsfarve på magenta:

Gem indstillinger til en login.sql Fil

Du kan gemme dine syntaksfremhævningsindstillinger i en login.sql fil.

Ved at gøre dette, vil du spare dig selv for at skulle konfigurere disse indstillinger, hver gang du opretter forbindelse ved hjælp af SQLcl. Dette er fordi du kan konfigurere det på en sådan måde, at login.sql fil kører hver gang du opretter forbindelse ved hjælp af SQLcl.

Her er et eksempel på en login.sql fil, der indeholder syntaksfremhævningskommandoer:

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

Her er min første linje ikke relateret til syntaksformatering - den opsætter bare sqlformat til ansiconsole .

De resterende linjer aktiverer syntaksfremhævning og specificerer, hvilke farver der skal bruges.

Når du har tilføjet syntaksfremhævning til din login.sql fil, afslut SQLcl og genopret forbindelse. Når den genopretter forbindelse, vil den køre login.sql fil, og alle disse kommandoer træder i kraft.

Efter at have tilføjet ovenstående kommandoer til min login.sql fil, sådan ser min forespørgsel ud nu (efter at jeg afsluttede SQLcl og oprettede forbindelse igen):

Måske skulle jeg have ladet søgeordene stå til cyan?

Andre syntaksfremhævningsindstillinger

Der er også andre muligheder, såsom muligheden for at indstille en baggrundsfarve, sætte et fed flag osv.

Den bedste måde at opdage disse på er at køre følgende kommando:

help set highlighting

Her er, hvad det returnerer for mig, når dette skrives:

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

Listen over farver er ret lille (i hvert fald i skrivende stund), men den er stadig nok til at give en anstændig syntaksfremhævning.

Da syntaksfremhævning er en ny funktion, er det sandsynligt, at ovenstående hjælpemuligheder vil ændre sig og blive udvidet i fremtiden.


  1. Brug af Oracle JDeveloper 12c med Oracle Database 12c på Oracle Cloud Platform, del 2

  2. PowerManager.PARTIAL_WAKE_LOCK android

  3. Gendan database fra nødtilstand i SQL Server

  4. MySQL:Indsæt post, hvis den ikke findes i tabellen