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:
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.