Erste Version eines Language-Server für unsere Skriptsprache. Der Sinn dahinter ist, dass das Arbeiten in den Skripts im Laufe der Zeit extrem erleichtert wird.
[x] alle Referenzen finden (macht das gleiche wie Definition finden)
[x] Hovering
[x] Signaturhilfe zeigt alle und gerade aktuellen Parameter an
[x] Auto-completion listet Functions auf wenn Call: eingegeben wurde
[x] Parserfunktionen e.g.: S.Select(...)
[x] Signaturhilfe zeigt alle und gerade aktuellen Parameter an
[x] Auto-completion
Unterstützte Tags:
keyword - Text der angezeigt wird im UI
notes - Zeigt zusätzliche Info zur Funktion an. Wenn nicht vorhanden wird keyword als Dokumentation angezeigt
text - Text der dann eignefügt wird. Der Text unterstützt bei Parserfunktionen die Snippetsyntax
signature - Signaturliste für die eingegebene Methode
returnvalue - Gibt den Rückgabewert an
[x] includescripts
[x] goto
[x] Hovering
[x] Variablen
[x] Hovering Zeigt alle Usages im aktuellen Skript an - inklusive includescripts
[ ] Hooks
[x] Zu Kundenhook springen
[ ] Von Kundenhook zu Hook in Hauptskript springen
[ ] Hook für Kunden erstellen
[ ] Datenbank
[ ] Spaltennamen anzeigen (bei Where-Strings / Funktionen die mit DB interagieren)
[ ] Where-Strings einfach erweiterbar
[ ] Completion
[x] Autocompletion bei Funkionen (Parser oder Userdefined)
[x] Variablen-autocompletion
[ ] Variablen - branch sensitive completion
[ ] Diagnostics
[X] Skriptweit (nur simpel)
[ ] Global
[X] Check-Script Syntax in Language-Server integrieren (nur simpel)
[x] Snippets
[x] Snippets Zum Erstellen von Functions / Scripts / Changekommentare
[x] Snippets für Set/GetElement
[ ] work in progress
[ ] Design
[ ] work in progress
[ ] Importattributes
[ ] work in progress
[ ] Importrecords
[ ] work in progress
Aktuell werden nur Dateien aus dem Standard-Ordner gecached.
Das heißt das Dateiübergreifende Finden / GoTo usw. wird erst dann funktionieren wenn man mehrere Dateien gleichzeitig offen hat
Keybindings
Ctrl + numpad0
Ctrl + numpad1
Ctrl + numpad2
Ctrl + numpad3
Function:
Function GoTo:
Includescript GoTo:
Datenbankspalten:
Wird mit Ctrl+Space aktiviert wenn der Cursor über einer Zahl ist und in der aktuellen Zeile ein Befehl steht, der mit der Datenbank kommuniziert
Parserfunctions:
Config:
Im Optionsmenü [Ctrl + ,] kann zwischen Snippet und Signatur gewählt werden