Experimentelles LSP (Language Server Protocol)¶
Der DATAMIMIC-Editor kann eine experimentelle LSP-Integration (Language Server Protocol) nutzen, um die Bearbeitung von DATAMIMIC-Modellen zu verbessern. Wenn LSP aktiviert ist, liefert es reichhaltigere Autocomplete-, Hover/Vorschau- und Diagnose-Funktionen.
Experimentelles Feature
Performance und Funktionsumfang können noch unvollständig sein, solange LSP für dein Projekt experimentell ist. Aktiviere es nur bewusst.
Aktivieren / Deaktivieren¶
LSP wird pro Projekt gesteuert.
Wie du den Schalter findest, steht hier: Einstellungen: Experimenteller LSP-Schalter.
Nach dem Aktivieren startet der Editor eine LSP-Sitzung für das Projekt und behält sie beim Wechsel zwischen Dateien innerhalb der Editoransicht bei.
Welche Dateien LSP beeinflusst¶
LSP wird nur für XML-artige, nicht-globale Editor-Dateien verwendet:
- Dateitypen:
.xmlund.template.xml - Nicht verwendet für: globale schreibgeschützte Overlay-Dateien
Wenn du LSP aktivierst und eine nicht unterstützte Datei öffnest, siehst du für diese Datei keine LSP-gestützte Unterstützung.
Globaler-Projekt-Kontext
Verknüpfte globale Projekte können trotzdem Kontext für LSP-gestützte Unterstützung liefern, zum Beispiel gemeinsame Script-Bibliotheken oder wiederverwendbare Projektressourcen. Die schreibgeschützten globalen Overlay-Dateien selbst werden nicht per LSP bearbeitet, ihr Inhalt kann aber Vorschläge in deinen lokalen Projektdateien verbessern.
Nutzung im Einfachen Modus¶
Wenn LSP für das Projekt aktiviert ist, stellt der Einfache Modus LSP-gestützte Hilfe innerhalb der geführten Bearbeitungsdialoge bereit, besonders in Eigenschafts-Dialogen.
LSP-Status¶
Der Einfache Modus zeigt einen LSP-Statuspunkt mit Tooltip an. Er enthält:
- Verbindungsstatus (
idle,connecting,ready,error) - Anzahl der Diagnosen
Wenn Diagnosen vorhanden sind, können Knoten im Editorbaum einen Hinweis LSP Diagnostics anzeigen. Der Tooltip zeigt die wichtigsten Diagnosemeldungen für diesen Knoten.
Autocomplete und Diagnosen¶
In Dialogen des Einfachen Modus, zum Beispiel beim Auswählen eines Eigenschafts- oder Kind-Namens, kann LSP Vorschläge liefern.
Diagnosen aus publishDiagnostics werden auf den Editorbaum abgebildet, damit problematische Stellen schneller gefunden werden können.
Im aktuellen experimentellen Umfang sind LSP-Vorschläge besonders nützlich für:
script=- undcondition=-Ausdrücke- sichtbare Variablen aus dem aktuellen XML-Scope
- Projektskripte und ihre Symbole
- CSV-Header und
.ent.csv-Spalten - verknüpfte globale Projektressourcen, die zusätzlichen Editor-Kontext liefern
Hover / Vorschau¶
Wenn du Eigenschaftsdetails bearbeitest, kann LSP eine kontextbezogene Vorschau liefern, zum Beispiel wertbezogene Hinweise.
Verhalten bei schreibgeschützten Dateien¶
Wenn eine Datei schreibgeschützt ist, sendet der Einfache Modus während der Bearbeitung keine Änderungen an LSP zurück. Status und Diagnosen können aber weiterhin auf Basis des synchronisierten Editor-Snapshots angezeigt werden.
Nutzung im Erweiterten Modus (XML-Codeansicht)¶
Der Erweiterte Modus integriert LSP in den Monaco-basierten XML-Editor für Autocomplete, Hover und Diagnosen.
LSP-Status¶
Der Erweiterte Modus zeigt einen LSP-Statuspunkt im Editorbereich. Der Tooltip enthält:
- Verbindungsstatus (
idle,connecting,ready,error) - Health-Status (
okoder nicht-OK) - Zeitpunkt des letzten Health-Checks
Autocomplete und Hover¶
Für XML-artige Dateien (.xml, .template.xml) nutzt der Erweiterte Modus LSP für:
- kontextbezogene Autocomplete-Vorschläge
- Hover-/Vorschau-Informationen für Elemente und Attribute
- ausdrucksbezogene Unterstützung in
script=- undcondition=-Attributen - Vorschläge für Template-Keys, CSV-Header und
.ent.csv-Spalten, wo unterstützt
Wenn LSP nicht verfügbar ist, zum Beispiel weil die Verbindung noch nicht steht, fällt der Erweiterte Modus auf lokale Editor-Unterstützung zurück, etwa schema- oder code-hint-basierte Hilfen.
Closing Tags und Ausdrucks-Workflows¶
Der Erweiterte Modus verbessert außerdem den Bearbeitungsfluss rund um XML-Struktur und Ausdrücke:
- Closing-Tag-Completion beschleunigt das Abschließen von XML-Elementen
- LSP-Vorschläge können tiefere Ausdrucksketten verfolgen, statt nur einfache Scopes zu unterstützen
- verknüpfte globale Projektressourcen können Vorschläge anreichern, ohne dass diese Dateien lokal kopiert werden müssen
Diagnosen im Editor¶
Wenn LSP aktiv ist, werden Editor-Diagnosen als Monaco-Marker für das aktuelle XML-Dokument angezeigt.
Diagnosen bleiben außerdem beim Wechsel zwischen Einfachem und Erweitertem Modus zuverlässiger erhalten. Dadurch sind bei Multi-User-Bearbeitung oder Reviews weniger manuelle Refreshes nötig.