In den letzten Jahren wird von vielen Entwicklern verstärkt das Tool Visual Studio Code bei der Entwicklung verwendet.
Wir haben das Tool in Verbindung mit Oracle SQL und PL/SQL mal näher angesehen und beschreiben in diesem Tipp die Einrichtung
Netterweise gab es zu dem Thema schon einen Blog von Morten Braten, der aber noch die Version 0.1.0 verwendet, aktuelle Version ist 2.0.0 (Stand Juni 2019). Wir haben ein paar Sachen ergänzt und korrigiert, damit es unter der aktuellen Visual Studio Code Version läuft
Sie können Visual Studio Code hier herunterladen.
Zusätzlich sollten Sie folgende Extensions installieren:
- Language PL/SQL von xyz
- Notepad++ keymap
- SQL Server (mssql) (falls Sie mal für den SQL Server tätig werden möchten)
Extensions werden installiert durch Klick auf das zweite Icon von unten, links im Hauptfenster (Screenshot (1)). Danach im Bereich "Search..." den gesuchten Namen eintragen, Suche starten und bei der gewünschten Extension auf "Install" klicken.
Danach legen Sie bitte einen Ordner im Betriebssystem an (z.B. c:\temp\VC)
Gehen Sie nun auf File/Open Folder und wählen Sie den Ordner aus. Der Inhalt des Ordners wird Ihnen links (Screenshot (2)) angezeigt.
Wenn Sie auf eine Datei (links) klicken, wird der Inhalt im Fenster (Screenshot (3)) angezeigt.
Nun müssen wir einige Konfigdateien anlegen, die Visual Studo Code sagen, was zu tun ist.
Datei 1: _run_sqlplus.bat
REM Setup sqlplus Umgebung für Unicode
REM Dieses Skript setzt Voreinstellungen für Unicode (Multibyte Zeichen)
set NLS_LANG=.AL32UTF8
chcp 65001
cls
REM Fehler werden mittels problemMatcher angezeigt
echo exit | echo @_show_errors.sql | sqlplus -s %1 %2
color a0
Datei 2: _show_errors.sql
set pagesize 9999
set linesize 9999
set heading off
set trim on
HOST color c0
select lower(attribute) -- error oder warning
|| ' '
|| line || '/' || position -- Zeile und Spalte
|| ' '
|| lower(name) -- Dateiname
|| case -- Datei-extension
when type = 'PACKAGE' then '.pks'
when type = 'PACKAGE BODY' then '.pkb'
else '.sql'
end
|| ' '
|| replace(text, chr(10), ' ') -- Zeilenbrüche entfernen
as user_errors
from user_errors
where attribute in ('ERROR', 'WARNING')
order by type, name, line, position;
und die wichtigste, Datei 3: task.json im Unterordner .vscode
{
"version": "2.0.0",
// sqlplus startet über Batch-Datei
"windows": {
"command": "./_run_sqlplus.bat"
},
"osx": {
"command": "./_run_sqlplus.sh"
},
"linux": {
"command": "./_run_sqlplus.sh"
},
"presentation": {
"reveal": "always", // never,silent,always
"panel": "shared" // new,shared,dedicated
},
// $1= Datenbank Connect String mit Benutzer/PWD@TNS-String $2=Dateiname
"args": ["scott/tiger@172.30.30.30:1521/xe.muniqsoft-training.de", "@${file}"],
// Wenn Kompilierungsfehler auftreten, werden diese im "Problems" Reiter (unten Links angezeigt)
"problemMatcher": {
"owner": "plsql",
"fileLocation": ["relative", "${fileDirname}"],
"pattern": [
{
"regexp": "(.*) (\\d*)\/(\\d*) (.*?) (.*)",
"severity": 1,
"line": 2,
"column": 3,
"file": 4,
"message": 5,
"loop": true
}
]
}
}
Passen Sie bitte in dieser Datei in der Zeile "args" ihre Daten bzgl. Benutzername/Passwort und Datenbank Daten an.
Nun können wir loslegen:
Wir öffnen den Ordner (File/Open Folder), bei uns war das der Ordner c:\temp\VC
In diesen Ordner legen Sie eine bereits existierende SQL bzw. PL/SQL Datei (in unserem Screenshot(2)) z.B: die Datei vc_test.sql
Wenn Sie eine neue Datei erstellen möchten, klicken Sie mit der rechten Maustaste in den Dateibereich, Menue: New File. Geben Sie einen Namen an, dann wird die Datei im Ordner angelegt.
Klicken Sie also auf die gewünschte Datei, die dann im rechten Fenster angezeigt wird.
Ändern Sie ggf noch etwas ab und speichern Sie Datei (z.B. durch STRG-S)
Drücken Sie nun STRG-Shift-B (für Build) und ein kleines Fenster öffnet sich oben.
Wählen Sie dort ./_run_sqlplus.bat aus und die Datei wird in Oracle SQL*Plus ausgeführt.
Die Ausgabe wird im Reiter "TERMINAL" unten ausgegeben (Screenshot(4)). Sollte in der Select Liste dort nicht _run_sqlplus stehen, dann bitte ändern.
Mit dem Mülleimer Symbol (Screenshot(5)) kann das Fenster wieder geleert werden.
Mit Klick auf das Dateiensymbol (Screenshot(6)) werden die aktuellen Dateien im Ordner angezeigt, ein nochmaliger Klick öffnet den Code als Vollbild.
Wer es etwas kürzer mag (aber unflexibler), kann als tasks.json Datei auch die folgende verwenden:
{
"version": "2.0.0",
"tasks": [
{
"taskName": "build",
"type": "shell",
"command": "sqlplus -s scott/tiger@172.30.30.30:1521/xe.muniqsoft-training.de @${file}",
},
]
}
Dann kann man sich auch die Dateien _run_sqlplus.bat und _show_errors.sql sparen hat dann aber
- keine schönen Fehlermeldungen in einem eigenen Reiter (man sollte dann unter jeden PL/SQL im Skript "show errors" schreiben)
- keine Umstellung auf ein Unicode Terminal
- keine Möglichkeit einfache Anpassungen für Windows/Unix/Max durchzuführen.
Weitere tolle Tipps erfahren Sie in einem unserer vielen Entwicklungskurse...