Zum Inhalt springen

Zed-Erweiterung

Die Elide-Erweiterung für Zed: elide lsp als Java-Language-Server, ein Elide-Debug-Adapter für JavaScript, TypeScript und Python sowie Debuggen aus Zed-Tasks.

Auf dieser Seite

Die Elide-Erweiterung für Zed fügt elide lsp als Java-Language-Server und einen Debug-Adapter Elide für JavaScript, TypeScript und Python hinzu. Jeder Zed-Task, der elide run oder elide test ausführt, erscheint auch im Tab Debug des Debuggers.

Voraussetzungen

VoraussetzungGrund
Elide 1.6.0 oder neuer im PATHDie Erweiterung führt elide aus; einen anderen Pfad legen Sie in den Einstellungen fest.
Die Java-Erweiterung von ZedSie definiert die Sprache Java.
Die Pkl-ErweiterungHebt elide.pkl hervor. Optional.
elide setup pythonNur zum Debuggen von Python.

Installation

Installieren Sie sie als Dev-Erweiterung; dafür ist Rust über rustup nötig:

git clone https://github.com/elide-dev/zed elide-zed

Öffnen Sie in Zed Extensions, wählen Sie Install Dev Extension und dann das Verzeichnis elide-zed.

Java-Language-Server

Tragen Sie elide in die Java-Liste language_servers in settings.json ein. So verwenden Sie ihn statt jdtls:

{
  "languages": {
    "Java": { "language_servers": ["elide", "!jdtls", "..."] }
  }
}

["elide", "jdtls"] behält beide; ["!elide", "..."] schaltet Elide ab. Der Server liest die Workspace-Wurzel, die Zed sendet, und eine elide.pkl dort macht sie zu einem Elide-Projekt, sodass Abhängigkeiten aufgelöst werden. Er bietet Diagnosen, Vervollständigung, Hover, Navigation, Umbenennen, Formatieren, Code-Aktionen, Inlay-Hinweise und semantische Tokens; die vollständige Liste finden Sie unter Weitere Editoren.

So führen Sie eine bestimmte Binärdatei aus oder übergeben zusätzliche Flags:

{
  "lsp": {
    "elide": {
      "binary": { "path": "/opt/elide/bin/elide", "arguments": ["lsp"] }
    }
  }
}

arguments ersetzt den Standardwert ["lsp"].

Debugging

Öffnen Sie den Debugger mit debugger: start (F4) und wählen Sie ein Szenario aus .zed/debug.json, einen Task aus dem Tab Debug oder Launch mit dem Adapter Elide. launch startet elide run --debugger=dap (oder elide test mit "command": "test") und verbindet sich; attach verbindet sich mit einem Programm, das bereits lauscht:

[
  { "label": "Debug app.ts", "adapter": "Elide", "request": "launch", "program": "app.ts" },
  { "label": "Debug this file", "adapter": "Elide", "request": "launch", "program": "$ZED_FILE" },
  { "label": "Debug tests", "adapter": "Elide", "request": "launch", "command": "test", "args": ["app.test.ts"] },
  { "label": "Attach", "adapter": "Elide", "request": "attach", "tcp_connection": { "host": "127.0.0.1", "port": 4711 } }
]
Launch-FeldBedeutung
programAuszuführende Datei, relativ zu cwd.
argsArgumente nach program.
cwdArbeitsverzeichnis; standardmäßig die Wurzel des Worktree.
envZusätzliche Umgebungsvariablen.
commandrun (Standard) oder test.
elideArgsElide-Flags vor program, etwa ["--max-mem=512m"].
host, portDAP-Listener; standardmäßig 127.0.0.1 und ein freier Port (4711 zum Anhängen).

Die Programmausgabe erscheint in der Debug-Konsole. Zum Anhängen starten Sie das Programm selbst:

elide run --debugger=dap app.py

So wird Elide zum Standard-Debugger für die Randleiste und den Dialog für neue Prozesse einer Sprache:

{ "languages": { "TypeScript": { "debuggers": ["Elide"] } } }

Einschränkungen

  • Debugging von Java und Kotlin (JDWP) wird nicht angeboten: Zed debuggt Java nur über die Java-Erweiterung.

War diese Seite hilfreich?