L’extension Elide fait de tout dossier contenant un elide.pkl un projet VS Code : elle synchronise les dépendances et
les source sets dans le serveur de langage Kotlin, et exécute, teste et débogue via la CLI elide.
Prérequis
| Prérequis | Remarques |
|---|---|
| VS Code 1.105 ou plus récent | VS Code pour ordinateur, ou une version distante ou serveur avec un système de fichiers local. |
| Elide 1.5 ou plus récent | Recherché via elide.home, $ELIDE_HOME, les emplacements d’installation, puis PATH. Elide 1.6 nécessite l’extension 0.6.0 ou plus récente. |
| Kotlin by JetBrains | JetBrains.kotlin-server ; installé avec l’extension. Terminez son assistant de premier lancement. |
| Un JDK | Pour l’intelligence de code ; définissez elide.jdk.home ou $JAVA_HOME. |
L’extension nécessite un espace de travail approuvé : une synchronisation exécute la CLI elide de l’espace de
travail.
Installer
curl -LOJ "https://plugins.elide.dev/vscode/files?id=elide.elide"
code --install-extension elide-*.vsixHelp → Get Started → Get started with Elide présente l’installation, le projet, la synchronisation, l’exécution et les tests.
Synchroniser un projet
L’ouverture d’un dossier contenant elide.pkl le synchronise : Elide résout le manifeste, installe les dépendances
lorsque le fichier de verrouillage est périmé, et écrit workspace.json pour le serveur de langage Kotlin. Ajoutez
workspace.json à .gitignore.
| Barre d’état | Signification |
|---|---|
| Elide avec une coche | Synchronisé |
| Elide avec un indicateur de chargement | Synchronisation en cours |
| Elide: out of date | elide.pkl ou les dépendances résolues ont changé |
| Elide en couleur d’erreur | Échec de la synchronisation ; Elide: Show Output contient le journal de la CLI |
Cliquez sur l’élément de la barre d’état pour ouvrir le menu Elide : synchroniser, exécuter une commande, exécuter tous
les tests, ouvrir elide.pkl ou la sortie. Quand elide.pkl change, l’extension propose de recharger
(elide.sync.onManifestChange).
La barre latérale Elide
La vue Elide de la barre d’activité liste chaque projet :
| Groupe | Lignes | Actions |
|---|---|---|
| Entrypoints | Entrées jvm.main, entrypoint et scripts | Run, Debug |
| Tasks | build, test, install, et les Build targets de elide build --inspect | Run, Debug sur les cibles qui acceptent --debugger |
| Source sets | Chaque source set et ses racines | |
| Dependencies | Bibliothèques résolues | Afficher dans le gestionnaire de fichiers |
Intelligence de code
La complétion, la navigation et les diagnostics Kotlin et Java viennent du serveur de langage Kotlin, qui importe le
workspace.json synchronisé : un module par source set, chaque bibliothèque avec ses sources, le JDK et les options
Kotlin du manifeste.
- Les JAR de sources sont installés pour les paquets Maven déclarés, si bien que Go to Definition ouvre le code de
la bibliothèque (
elide.install.classifiers). - Le JDK provient de
elide.jdk.home, puis dejvm.javaHome, de$JAVA_HOMEou d’un JDK installé correspondant àjvm.target. - Un dépôt peut conserver un répertoire
.idead’IntelliJ : l’extension définitintellij.buildToolàjsondans les paramètres de l’espace de travail, pour que chaque éditeur lise son propre modèle.
Exécuter
Les code lens exécutent ce que le projet déclare :
| Emplacement | Code lens |
|---|---|
Au-dessus d’une fonction main JVM | Run with Elide, Debug with Elide |
jvm.main et entrypoint dans elide.pkl | Run, Debug |
Entrées scripts | Run script |
Entrées artifacts | Build ; les binaires Native Image ont aussi Run et Debug |
Les exécutions sont des tâches VS Code de type elide ; les erreurs du compilateur deviennent des entrées de Problems
sur le fichier et la ligne signalés.
| Commande | Effet |
|---|---|
Elide: Run Elide Command… | Exécute build, test, install ou run <entrypoint> comme tâche. |
Elide: Sync Project(s) | Synchronise à nouveau. |
Elide: Show Menu | Le menu de la barre d’état. |
Elide: New Project… | Crée un projet à partir d’un modèle de la CLI installée. |
Elide: Add Workspace Member… | Crée un projet dans celui-ci et l’ajoute à workspace.members. |
Elide: Open generated Kotlin LSP workspace | Ouvre workspace.json. |
Elide: Show Output | Affiche la sortie de la CLI et le journal de synchronisation. |
Dans .vscode/tasks.json :
{ "type": "elide", "command": "test", "args": ["src/api"], "options": { "bail": 3 } }| Champ | Valeur |
|---|---|
command | build, run, test ou install |
args | Arguments positionnels : cibles de build, chemins de tests, le point d’entrée |
options | Options de la CLI : { "no-cache": true } ajoute --no-cache ; false retire une option héritée |
flags | Options de build -f NAME[=VALUE] |
programArgs | Arguments après -- |
env, project | Environnement ; racine du projet relative au dossier de l’espace de travail |
Tester
Les tests JUnit des source sets de test apparaissent dans la vue Testing, avec des icônes dans la gouttière sur
chaque classe et chaque méthode. Une exécution appelle elide test --reporter=tap pour la sélection et rapporte chaque
test dès qu’il se termine ; un échec affiche son message d’assertion et renvoie à la ligne en échec.
Le profil Debug exécute les mêmes tests sous le débogueur.
Run with Coverage exécute la sélection avec --coverage et affiche le résultat dans la gouttière de l’éditeur et
dans la vue Test Coverage : JavaScript et TypeScript à partir de LCOV, Java et Kotlin à partir d’un rapport XML
JaCoCo. Demandez le rapport XML dans elide.pkl :
import "elide:Coverage.pkl" as Coverage
coverage {
jvm {
reports { Coverage.xmlReport() }
}
}Déboguer
Debug with Elide lance elide run --debugger et s’y attache. Les points d’arrêt dans les sources Kotlin et Java
arrêtent le programme ; terminer la session arrête Elide.
Dans .vscode/launch.json :
{
"type": "elide",
"request": "launch",
"name": "Elide: Run (debug)",
"entrypoint": "src/main/kotlin/shop/Main.kt"
}| Champ | Valeur |
|---|---|
command | run (par défaut), test, ou build avec targets |
entrypoint | Fichier, script ou point d’entrée ; vide, celui du manifeste est utilisé |
args | Arguments du programme |
elideArgs, options, flags, env, project | Comme pour les tâches |
elide.debug.adapter choisit le débogueur : intellij (par défaut, fourni par l’extension Kotlin) ou java
(Debugger for Java). Le débogueur
écoute sur le port 5005, donc une seule session peut s’exécuter à la fois. Pour le débogage CDP et DAP de JavaScript,
TypeScript et Python, voir Débogage.
Native Image
Le type de lancement elide-native construit un artefact Native Image et débogue le binaire sous GDB, via l’extension
C/C++ (ms-vscode.cpptools) :
{ "type": "elide-native", "request": "launch", "name": "Elide: Debug Native Image", "artifact": "bin" }Ajoutez -g aux options.flags de l’artefact dans elide.pkl pour des points d’arrêt au niveau du source ; les
informations de débogage ne sont émises que sous Linux. program débogue un binaire existant, build: false saute le
build.
Espaces de travail
Un manifeste avec workspace.members se synchronise comme un seul build. Chaque membre est un projet dans la barre
latérale, la vue Testing, les tâches et les configurations de lancement, et l’intelligence de code suit les dépendances
project("name") entre membres sans build. À l’ouverture du répertoire d’un membre, l’extension propose
d’ouvrir la racine de l’espace de travail. Voir Espaces de travail.
Paramètres
| Paramètre | Par défaut | Effet |
|---|---|---|
elide.home | "" | Racine d’installation d’Elide. Vide : $ELIDE_HOME, les emplacements d’installation, puis elide dans le PATH. |
elide.jdk.home | "" | JDK pour l’intelligence de code. |
elide.sync.onStartup | true | Synchronise à l’ouverture de l’espace de travail. |
elide. | "prompt" | always, prompt ou never. |
elide. | true | Écrit workspace.json. |
elide. | ["sources"] | JAR supplémentaires par paquet Maven : sources, docs. |
elide.flags | [] | Options -f NAME[=VALUE] pour chaque invocation, synchronisation comprise. |
elide.build.options | {} | Options par défaut de elide build ; de même pour elide.run.options, elide.test.options et elide.install.options. |
elide.codeLens.enabled | true | Affiche les code lens Run et Debug. |
elide.debug.adapter | "intellij" | intellij ou java. |
elide. | "auto" | gdb, lldb ou auto pour les sessions Native Image. |
elide. | "" | Binaire GDB ou lldb-mi pour les sessions Native Image. |