sql >> Databasteknik >  >> RDS >> Oracle

Hur man konfigurerar syntaxmarkering i SQLcl

Från och med SQLcl version 21.2 kan vi nu konfigurera SQLcl för syntaxmarkering.

Det betyder att koden du skriver i SQLcl kan färgkodas, baserat på reglerna för syntaxmarkering du tillämpar.

Standard (syntaxmarkering av)

Här är en fråga som jag skrev i min terminal utan syntaxmarkering:

Så ingen färgkodning har inträffat. Detta använder färgerna som jag konfigurerade i min terminals inställningar, som i princip bara var vit text på en svart bakgrund.

Aktivera syntaxmarkering

Du kan aktivera syntaxmarkering med följande rad:

set highlighting on 

Detta ger en grundläggande nivå av syntaxmarkering.

Så här ser samma fråga ut nu:

I grund och botten är SQL-sökord markerade i cyan, men inget annat är det.

Lägg till mer färgkodning

Lyckligtvis kan vi lägga till lite mer färgkodning.

Till exempel:

set highlighting identifier foreground magenta 

Detta färgar alla identifierare med en förgrundsfärg av magenta:

Spara inställningar till en login.sql Arkiv

Du kan spara dina syntaxmarkeringsinställningar till en login.sql fil.

Genom att göra detta slipper du att behöva konfigurera dessa inställningar varje gång du ansluter med SQLcl. Detta beror på att du kan konfigurera det på ett sådant sätt att login.sql filen körs varje gång du ansluter med SQLcl.

Här är ett exempel på en login.sql fil som innehåller syntaxmarkeringskommandon:

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 

Här är min första rad inte relaterad till syntaxformatering – den ställer bara in sqlformat till ansiconsole .

De återstående raderna möjliggör syntaxmarkering och anger vilka färger som ska användas.

När du har lagt till syntaxmarkering i din login.sql fil, avsluta SQLcl och återanslut. När den återansluter kommer den att köra login.sql fil, och alla dessa kommandon kommer att träda i kraft.

Efter att ha lagt till ovanstående kommandon till min login.sql fil, så här ser min fråga ut nu (efter att jag avslutat SQLcl och återanslutit):

Jag kanske borde ha lämnat nyckelorden till cyan?

Andra syntaxmarkeringsalternativ

Det finns också andra alternativ, såsom möjligheten att ställa in en bakgrundsfärg, ställa in en fet flagga, etc.

Det bästa sättet att upptäcka dessa är att köra följande kommando:

help set highlighting 

Det här är vad som returnerar för mig när detta skrivs:

ställ markering | ÅTERSTÄLL | FÖRGRUND | BAKGRUND | FET | ULINE | INVERSE =DEFAULT | KOMMENTAR | STRING | NUMMER | TECKNINGEN | SÖKORD | IDENTIFIERING =RÖD | BLÅ | SVART | CYAN | GRÖN | MAGENTA | VIT | GUL =PÅ | AV | RESETEXAMPLES ställ in markering på

Listan över färger är ganska liten (åtminstone i skrivande stund), men den räcker fortfarande för att ge en anständig syntaxmarkering.

Eftersom syntaxmarkering är en ny funktion, är det troligt att ovanstående hjälpalternativ kommer att ändras och utökas i framtiden.


  1. Kör inbyggd sql med viloläge

  2. MySQL användarrättigheter på delade servrar

  3. 4 funktioner som returnerar minuterna från ett tidsvärde i MariaDB

  4. Unik begränsning som tillåter tomma värden i MySQL