Skip to content

VS Code Extension

Editor-Support für die CodeCharter-DSL mit Syntax-Highlighting und Autovervollständigung.

Die VS-Code-Extension bringt vollwertigen Editor-Support für die CodeCharter-DSL mit. Wenn Sie eigene .ccr-Regeln schreiben, erhalten Sie Syntax-Highlighting, Snippets und Autovervollständigung der Schema-Properties.

Installation

Die Extension setzt VS Code 1.85 oder neuer voraus. Für den Download aus dem Portal benötigen Sie ein angemeldetes Konto mit aktivem Abonnement.

  1. Laden Sie codecharter-X.Y.Z.vsix aus den Portal-Downloads herunter.
  2. In VS Code: Kommandopalette → "Extensions: Install from VSIX..." → die heruntergeladene Datei auswählen.

Hinweis: VS Code zeigt bei der VSIX-Installation einen Sicherheitshinweis zu einem nicht verifizierten Publisher. Das ist erwartet, da die Extension nicht über den Marketplace kommt. Bestätigen Sie den Hinweis und fahren Sie fort.

Alternativ per CLI:

code --install-extension codecharter-X.Y.Z.vsix

Der Windows-Installer bietet das als vorausgewählte Setup-Option an, wenn er eine VS-Code-Installation erkennt.

Die Extension benötigt die CodeCharter-CLI für alle Sprachfeatures: Der Language Server wird von der CLI selbst bereitgestellt. Wird keine CLI gefunden, zeigt die Extension beim Aktivieren einen Fehler, und Autovervollständigung und Validierung funktionieren nicht. Die CLI wird automatisch im PATH gesucht (ausführbare Dateien codecharter, CodeCharter.Cli oder CodeCharter.Cli.exe) oder über codecharter.serverPath konfiguriert.

Features

  • Syntax-Highlighting für .ccr-Files mit eigenem Tokenizer.
  • Snippets für die typischen Regel-Skelette.
  • Autovervollständigung der Schema-Properties (TypeModel, MethodModel und Co.) über einen Language Server, den die CodeCharter-CLI bereitstellt.
  • Inline-Validierung der Regel-Syntax. Tippfehler in Property-Namen markiert der Editor sofort.
  • Spec-Tests mit CodeLens-Aktionen: "Run spec" und "Scaffold spec" erscheinen auf .ccr- und .spec.md-Dateien; fehlgeschlagene Fälle landen im Problems-Panel.

Wenn Ihre codecharter.yml Portal-Profile deklariert, führt die Extension beim Aktivieren codecharter restore aus, zeigt das aktive Regel-Set in der Statusleiste an und warnt, wenn codecharter.lock.json neuer ist als der Regel-Cache.

Die Extension nimmt außerdem Regel-Entwürfe aus dem Portal entgegen: In VSCode öffnen im Regel-Editor des Portals holt den aktuellen Entwurf nach VS Code, und CodeCharter: Push to portal spielt ihn als Entwurf zurück. Den vollständigen Ablauf beschreibt Regeln in VS Code bearbeiten.

Befehle in der Kommandopalette

  • CodeCharter: Validate current rule file
  • CodeCharter: Analyze workspace (.sln/.csproj)
  • CodeCharter: Test rule spec
  • CodeCharter: Test all specs
  • CodeCharter: Scaffold spec for current rule
  • CodeCharter: Restart language server
  • CodeCharter: Show language server output

Analyze workspace startet die CodeCharter-CLI auf der Solution oder dem Projekt im VS Code Terminal. Die Findings erscheinen dort als Konsolen-Output.

Konfiguration

Settings unter codecharter.* in den VS Code Einstellungen:

Setting Default Beschreibung
codecharter.serverPath leer Pfad zur CodeCharter-CLI. Leer = automatische Erkennung aus dem PATH. Unterstützt ${workspaceFolder} und ${userHome}.
codecharter.analyze.rulesDirectory leer Regel-Verzeichnis für Analyze workspace. Leer = Standardauflösung der CLI: ./rules im Workspace, sonst das mit der CLI ausgelieferte Regel-Set.
codecharter.trace.server off LSP-Kommunikation protokollieren (off, messages, verbose).
codecharter.portalBaseUrl https://codecharter.tools Portal-Adresse für die Entwurfs-Übergabe, siehe Regeln in VS Code bearbeiten.

Andere Editoren

Der Language Server ist nicht an VS Code gebunden. Der CLI-Befehl

codecharter lsp

startet den CodeCharter-DSL-Language-Server, der das Language Server Protocol über stdio (stdin/stdout) spricht. Jeder LSP-fähige Editor kann ihn an .ccr-Dateien anbinden: Konfigurieren Sie Ihren Editor so, dass er codecharter lsp als stdio-Language-Server für die Dateiendung .ccr startet. Wie ein stdio-Server eingebunden wird, beschreibt die LSP-Dokumentation Ihres Editors.

Der Server bietet:

  • Diagnostics, veröffentlicht beim Öffnen und bei jeder Änderung einer Datei.
  • Completion für Schema-Properties, ausgelöst durch @, . und Leerzeichen.
  • Hover-Informationen.
  • Semantic Tokens (gesamtes Dokument) für Syntax-Highlighting.
  • Code Actions zu gemeldeten Diagnostics.

Die Dokumentsynchronisation arbeitet mit dem vollständigen Dokumentinhalt, inkrementelle Synchronisation unterstützt der Server nicht. Wie jeder CLI-Befehl führt codecharter lsp beim Start die Lizenzprüfung aus und akzeptiert --license, um auf eine bestimmte codecharter.license-Datei zu zeigen.

Beachten Sie, dass die oben beschriebenen VS-Code-spezifischen Features (Snippets, CodeLens-Spec-Aktionen, codecharter restore beim Aktivieren, Statusleiste) aus der Extension stammen, nicht aus dem Language Server, und in anderen Editoren nicht verfügbar sind.

Troubleshooting

Wenn der Language Server nicht startet:

  1. Output-Panel öffnen (View → Output), CodeCharter im Dropdown wählen.
  2. CLI-Pfad prüfen. Wenn die CLI nicht im PATH ist, setzen Sie codecharter.serverPath explizit auf den vollen Pfad.
  3. Rechte prüfen auf Linux und macOS. Das Binary muss ausführbar sein (chmod +x codecharter).
  4. LSP-Tracing aktivieren für detaillierte Diagnose: codecharter.trace.server auf messages oder verbose setzen. Nach der Diagnose wieder auf off zurück.

Mehr unter VS-Code-Extension hängt.