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.
- Bitte durchlesen und etwaige Wünsche / Anregungen gleich erstellen
- Bei Fehlern bitte gleich ein Issue erstellen
- Die Extension wird nur bei Dateien mit .cpp-Dateien aktiviert
- Repository
- Syntaxhighlighting
- für die wichtigsten Dinge einmal definiert
- Userdefined Functions e.g.:
FUNCTION: void Test(int nZahl1, CTable tTable1);
- Defintion finden
- goto
- alle Referenzen finden (macht das gleiche wie Definition finden)
- Hovering
- Signaturhilfe zeigt alle und gerade aktuellen Parameter an
- Auto-completion listet Functions auf wenn
Call:
eingegeben wurde
- Parserfunktionen e.g.:
S.Select(...)
- Signaturhilfe zeigt alle und gerade aktuellen Parameter an
- Auto-completion
- Unterstützte Tags:
keyword
- Text der angezeigt wird im UInotes
- Zeigt zusätzliche Info zur Funktion an. Wenn nicht vorhanden wirdkeyword
als Dokumentation angezeigttext
- Text der dann eignefügt wird. Der Text unterstützt bei Parserfunktionen die Snippetsyntaxsignature
- Signaturliste für die eingegebene Methodereturnvalue
- Gibt den Rückgabewert an
- Unterstützte Tags:
- includescripts
- goto
- Hovering
- Variablen
- Hovering Zeigt alle Usages im aktuellen Skript an - inklusive includescripts
- Hooks
- 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
- Autocompletion bei Funkionen (Parser oder Userdefined)
- Variablen-autocompletion
- Variablen - branch sensitive completion
- Diagnostics
- Skriptweit (nur simpel)
- Global
- Check-Script Syntax in Language-Server integrieren (nur simpel)
- Snippets
- Snippets Zum Erstellen von Functions / Scripts / Changekommentare
- 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
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