Die Elide-Erweiterung macht jeden Ordner mit einer elide.pkl zu einem VS-Code-Projekt: Sie synchronisiert
Abhängigkeiten und Source-Sets in den Kotlin-Language-Server und führt aus, testet und debuggt über die elide-CLI.
Voraussetzungen
| Voraussetzung | Hinweise |
|---|---|
| VS Code 1.105 oder neuer | VS Code für den Desktop oder ein Remote- bzw. Server-Build mit lokalem Dateisystem. |
| Elide 1.5 oder neuer | Wird über elide.home, $ELIDE_HOME, die Installationsorte und zuletzt PATH gefunden. Elide 1.6 erfordert die Erweiterung 0.6.0 oder neuer. |
| Kotlin by JetBrains | JetBrains.kotlin-server; wird mit der Erweiterung installiert. Schließen Sie die Abfrage beim ersten Start ab. |
| Ein JDK | Für die Code-Intelligenz; setzen Sie elide.jdk.home oder $JAVA_HOME. |
Die Erweiterung braucht einen vertrauenswürdigen Workspace: Eine Synchronisierung führt die elide-CLI des Workspace
aus.
Installation
curl -LOJ "https://plugins.elide.dev/vscode/files?id=elide.elide"
code --install-extension elide-*.vsixHelp → Get Started → Get started with Elide führt durch Installation, Projekt, Synchronisierung, Ausführen und Testen.
Projekt synchronisieren
Wenn Sie einen Ordner mit elide.pkl öffnen, wird er synchronisiert: Elide löst das Manifest auf, installiert
Abhängigkeiten, wenn das Lockfile veraltet ist, und schreibt workspace.json für den Kotlin-Language-Server. Nehmen Sie
workspace.json in .gitignore auf.
| Statusleiste | Bedeutung |
|---|---|
| Elide mit Häkchen | Synchron |
| Elide mit Ladesymbol | Wird synchronisiert |
| Elide: out of date | elide.pkl oder die aufgelösten Abhängigkeiten haben sich geändert |
| Elide in Fehlerfarbe | Synchronisierung fehlgeschlagen; Elide: Show Output enthält das CLI-Log |
Ein Klick auf das Element in der Statusleiste öffnet das Elide-Menü: synchronisieren, einen Befehl ausführen, alle
Tests ausführen, elide.pkl oder die Ausgabe öffnen. Ändert sich elide.pkl, fragt die Erweiterung, ob neu geladen
werden soll (elide.sync.onManifestChange).
Die Elide-Seitenleiste
Die Ansicht Elide in der Aktivitätsleiste listet jedes Projekt auf:
| Gruppe | Zeilen | Aktionen |
|---|---|---|
| Entrypoints | Einträge jvm.main, entrypoint und scripts | Run, Debug |
| Tasks | build, test, install sowie Build targets aus elide build --inspect | Run, Debug bei Zielen, die --debugger annehmen |
| Source sets | Jedes Source-Set und seine Wurzeln | |
| Dependencies | Aufgelöste Bibliotheken | Im Dateimanager anzeigen |
Code-Intelligenz
Vervollständigung, Navigation und Diagnosen für Kotlin und Java liefert der Kotlin-Language-Server, der die
synchronisierte workspace.json importiert: ein Modul pro Source-Set, jede Bibliothek mit ihren Quellen, das JDK und
die Kotlin-Optionen des Manifests.
- Für deklarierte Maven-Pakete werden Quell-JARs installiert, sodass Go to Definition den Bibliothekscode öffnet
(
elide.install.classifiers). - Das JDK stammt aus
elide.jdk.home, danach ausjvm.javaHome,$JAVA_HOMEoder einem installierten JDK, das zujvm.targetpasst. - Ein Checkout kann ein
.idea-Verzeichnis von IntelliJ behalten: Die Erweiterung setztintellij.buildToolin den Workspace-Einstellungen aufjson, sodass jeder Editor sein eigenes Modell liest.
Ausführen
Code Lenses führen aus, was das Projekt deklariert:
| Wo | Lenses |
|---|---|
Über einer JVM-Funktion main | Run with Elide, Debug with Elide |
jvm.main und entrypoint in elide.pkl | Run, Debug |
Einträge in scripts | Run script |
Einträge in artifacts | Build; Native-Image-Binärdateien zusätzlich Run und Debug |
Ausführungen sind VS-Code-Tasks vom Typ elide; Compilerfehler erscheinen unter Problems an der gemeldeten Datei und
Zeile.
| Befehl | Wirkung |
|---|---|
Elide: Run Elide Command… | Führt build, test, install oder run <entrypoint> als Task aus. |
Elide: Sync Project(s) | Synchronisiert erneut. |
Elide: Show Menu | Das Menü der Statusleiste. |
Elide: New Project… | Legt ein Projekt aus einer Vorlage der installierten CLI an. |
Elide: Add Workspace Member… | Legt ein Projekt innerhalb dieses Projekts an und fügt es zu workspace.members hinzu. |
Elide: Open generated Kotlin LSP workspace | Öffnet workspace.json. |
Elide: Show Output | Zeigt die CLI-Ausgabe und das Synchronisierungs-Log. |
In .vscode/tasks.json:
{ "type": "elide", "command": "test", "args": ["src/api"], "options": { "bail": 3 } }| Feld | Wert |
|---|---|
command | build, run, test oder install |
args | Positionsargumente: Build-Ziele, Testpfade, der Einstiegspunkt |
options | CLI-Optionen: { "no-cache": true } fügt --no-cache hinzu; false entfernt eine geerbte Option |
flags | Build-Flags -f NAME[=VALUE] |
programArgs | Argumente nach -- |
env, project | Umgebung; Projektwurzel relativ zum Workspace-Ordner |
Testen
JUnit-Tests in den Test-Source-Sets erscheinen in der Ansicht Testing, mit Symbolen in der Randleiste an jeder
Klasse und Methode. Ein Lauf ruft elide test --reporter=tap für die Auswahl auf und meldet jeden Test, sobald er
fertig ist; ein Fehlschlag zeigt seine Assertion-Meldung und verlinkt auf die fehlschlagende Zeile.
Das Profil Debug führt dieselben Tests im Debugger aus.
Run with Coverage führt die Auswahl mit --coverage aus und zeigt das Ergebnis in der Randleiste des Editors und
in der Ansicht Test Coverage: JavaScript und TypeScript aus LCOV, Java und Kotlin aus einem JaCoCo-XML-Bericht.
Fordern Sie den XML-Bericht in elide.pkl an:
import "elide:Coverage.pkl" as Coverage
coverage {
jvm {
reports { Coverage.xmlReport() }
}
}Debuggen
Debug with Elide startet elide run --debugger und hängt sich an. Haltepunkte in Kotlin- und Java-Quellen
halten das Programm an; das Beenden der Sitzung beendet Elide.
In .vscode/launch.json:
{
"type": "elide",
"request": "launch",
"name": "Elide: Run (debug)",
"entrypoint": "src/main/kotlin/shop/Main.kt"
}| Feld | Wert |
|---|---|
command | run (Standard), test oder build mit targets |
entrypoint | Datei, Skript oder Einstiegspunkt; leer verwendet den des Manifests |
args | Programmargumente |
elideArgs, options, flags, env, project | Wie bei Tasks |
elide.debug.adapter wählt den Debugger: intellij (Standard, aus der Kotlin-Erweiterung) oder java
(Debugger for Java). Der Debugger
lauscht auf Port 5005, daher läuft immer nur eine Sitzung. Zum Debuggen von JavaScript, TypeScript und Python über
CDP und DAP siehe Debugging.
Native Image
Der Starttyp elide-native baut ein Native-Image-Artefakt und debuggt die Binärdatei unter GDB, über die
Erweiterung C/C++ (ms-vscode.cpptools):
{ "type": "elide-native", "request": "launch", "name": "Elide: Debug Native Image", "artifact": "bin" }Fügen Sie für Haltepunkte auf Quellcodeebene -g zu den options.flags des Artefakts in elide.pkl hinzu;
Debug-Informationen werden nur unter Linux erzeugt. program debuggt eine vorhandene Binärdatei, build: false
überspringt den Build.
Workspaces
Ein Manifest mit workspace.members wird als ein Build synchronisiert. Jedes Mitglied ist ein Projekt in der
Seitenleiste, der Testing-Ansicht, den Tasks und den Startkonfigurationen, und die Code-Intelligenz folgt
project("name")-Abhängigkeiten zwischen Mitgliedern ohne Build. Beim Öffnen des Verzeichnisses eines Mitglieds wird
angeboten, die Workspace-Wurzel zu öffnen. Siehe Workspaces.
Einstellungen
| Einstellung | Standard | Wirkung |
|---|---|---|
elide.home | "" | Installationswurzel von Elide. Leer: $ELIDE_HOME, Installationsorte, zuletzt elide im PATH. |
elide.jdk.home | "" | JDK für die Code-Intelligenz. |
elide.sync.onStartup | true | Synchronisiert beim Öffnen des Workspace. |
elide. | "prompt" | always, prompt oder never. |
elide. | true | Schreibt workspace.json. |
elide. | ["sources"] | Zusätzliche JARs pro Maven-Paket: sources, docs. |
elide.flags | [] | Flags -f NAME[=VALUE] für jeden Aufruf, einschließlich der Synchronisierung. |
elide.build.options | {} | Standardoptionen für elide build; ebenso elide.run.options, elide.test.options und elide.install.options. |
elide.codeLens.enabled | true | Zeigt die Code Lenses Run und Debug. |
elide.debug.adapter | "intellij" | intellij oder java. |
elide. | "auto" | gdb, lldb oder auto für Native-Image-Sitzungen. |
elide. | "" | GDB- oder lldb-mi-Binärdatei für Native-Image-Sitzungen. |