La extensión de Elide convierte cualquier carpeta con un elide.pkl en un proyecto de VS Code: sincroniza las
dependencias y los conjuntos de fuentes con el servidor de lenguaje de Kotlin, y ejecuta, prueba y depura mediante la
CLI elide.
Requisitos
| Requisito | Notas |
|---|---|
| VS Code 1.105 o posterior | VS Code de escritorio o una compilación remota o de servidor con un sistema de archivos local. |
| Elide 1.5 o posterior | Se busca en elide.home, $ELIDE_HOME, las ubicaciones de instalación y, por último, PATH. Elide 1.6 requiere la extensión 0.6.0 o posterior. |
| Kotlin by JetBrains | JetBrains.kotlin-server; se instala con la extensión. Complete su asistente de primer uso. |
| Un JDK | Para la inteligencia de código; defina elide.jdk.home o $JAVA_HOME. |
La extensión requiere un espacio de trabajo de confianza: una sincronización ejecuta la CLI elide del espacio de
trabajo.
Instalar
curl -LOJ "https://plugins.elide.dev/vscode/files?id=elide.elide"
code --install-extension elide-*.vsixHelp → Get Started → Get started with Elide recorre la instalación, el proyecto, la sincronización, la ejecución y las pruebas.
Sincronizar un proyecto
Al abrir una carpeta con elide.pkl, esta se sincroniza: Elide resuelve el manifiesto, instala las dependencias cuando
el archivo de bloqueo está desactualizado y escribe workspace.json para el servidor de lenguaje de Kotlin. Añada
workspace.json a .gitignore.
| Barra de estado | Significado |
|---|---|
| Elide con una marca de verificación | Sincronizado |
| Elide con un indicador giratorio | Sincronizando |
| Elide: out of date | elide.pkl o las dependencias resueltas han cambiado |
| Elide en color de error | La sincronización falló; Elide: Show Output contiene el registro de la CLI |
Haga clic en el elemento de la barra de estado para abrir el menú de Elide: sincronizar, ejecutar un comando, ejecutar
todas las pruebas, abrir elide.pkl o la salida. Cuando elide.pkl cambia, la extensión pide recargar
(elide.sync.onManifestChange).
La barra lateral de Elide
La vista Elide de la barra de actividad muestra cada proyecto:
| Grupo | Filas | Acciones |
|---|---|---|
| Entrypoints | Entradas jvm.main, entrypoint y scripts | Run, Debug |
| Tasks | build, test, install y Build targets de elide build --inspect | Run, Debug en los destinos que aceptan --debugger |
| Source sets | Cada conjunto de fuentes y sus raíces | |
| Dependencies | Bibliotecas resueltas | Mostrar en el gestor de archivos |
Inteligencia de código
El autocompletado, la navegación y los diagnósticos de Kotlin y Java vienen del servidor de lenguaje de Kotlin, que
importa el workspace.json sincronizado: un módulo por conjunto de fuentes, cada biblioteca con sus fuentes, el JDK y
las opciones de Kotlin del manifiesto.
- Se instalan los JAR de fuentes de los paquetes Maven declarados, así que Go to Definition abre el código de la
biblioteca (
elide.install.classifiers). - El JDK se toma de
elide.jdk.home, después dejvm.javaHome,$JAVA_HOMEo un JDK instalado que coincida conjvm.target. - Un repositorio puede conservar un directorio
.ideade IntelliJ: la extensión defineintellij.buildToolcomojsonen los ajustes del espacio de trabajo, de modo que cada editor lee su propio modelo.
Ejecutar
Los code lens ejecutan lo que declara el proyecto:
| Dónde | Code lens |
|---|---|
Encima de una función main de la JVM | Run with Elide, Debug with Elide |
jvm.main y entrypoint en elide.pkl | Run, Debug |
Entradas scripts | Run script |
Entradas artifacts | Build; los binarios de Native Image también Run y Debug |
Las ejecuciones son tareas de VS Code de tipo elide; los errores del compilador aparecen en Problems en el archivo y
la línea indicados.
| Comando | Efecto |
|---|---|
Elide: Run Elide Command… | Ejecuta build, test, install o run <entrypoint> como tarea. |
Elide: Sync Project(s) | Vuelve a sincronizar. |
Elide: Show Menu | El menú de la barra de estado. |
Elide: New Project… | Crea un proyecto a partir de una plantilla de la CLI instalada. |
Elide: Add Workspace Member… | Crea un proyecto dentro de este y lo añade a workspace.members. |
Elide: Open generated Kotlin LSP workspace | Abre workspace.json. |
Elide: Show Output | Muestra la salida de la CLI y el registro de sincronización. |
En .vscode/tasks.json:
{ "type": "elide", "command": "test", "args": ["src/api"], "options": { "bail": 3 } }| Campo | Valor |
|---|---|
command | build, run, test o install |
args | Argumentos posicionales: destinos de compilación, rutas de pruebas, el punto de entrada |
options | Opciones de la CLI: { "no-cache": true } añade --no-cache; false elimina una heredada |
flags | Opciones de compilación -f NAME[=VALUE] |
programArgs | Argumentos después de -- |
env, project | Entorno; raíz del proyecto relativa a la carpeta del espacio de trabajo |
Probar
Las pruebas JUnit de los conjuntos de fuentes de prueba aparecen en la vista Testing, con iconos en el margen de
cada clase y método. Una ejecución llama a elide test --reporter=tap para la selección e informa de cada prueba al
terminar; un fallo muestra su mensaje de aserción y enlaza a la línea que falla.
El perfil Debug ejecuta las mismas pruebas con el depurador.
Run with Coverage ejecuta la selección con --coverage y muestra el resultado en el margen del editor y en la
vista Test Coverage: JavaScript y TypeScript a partir de LCOV, Java y Kotlin a partir de un informe XML de JaCoCo.
Solicite el informe XML en elide.pkl:
import "elide:Coverage.pkl" as Coverage
coverage {
jvm {
reports { Coverage.xmlReport() }
}
}Depurar
Debug with Elide inicia elide run --debugger y se conecta a él. Los puntos de interrupción en fuentes Kotlin y
Java detienen el programa; al terminar la sesión se detiene Elide.
En .vscode/launch.json:
{
"type": "elide",
"request": "launch",
"name": "Elide: Run (debug)",
"entrypoint": "src/main/kotlin/shop/Main.kt"
}| Campo | Valor |
|---|---|
command | run (predeterminado), test, o build con targets |
entrypoint | Archivo, script o punto de entrada; si está vacío, se usa el del manifiesto |
args | Argumentos del programa |
elideArgs, options, flags, env, project | Igual que en las tareas |
elide.debug.adapter elige el depurador: intellij (predeterminado, de la extensión de Kotlin) o java
(Debugger for Java). El depurador
escucha en el puerto 5005, así que solo se ejecuta una sesión a la vez. Para depurar JavaScript, TypeScript y Python
con CDP y DAP, consulte Depuración.
Native Image
El tipo de inicio elide-native compila un artefacto de Native Image y depura el binario con GDB, mediante la
extensión C/C++ (ms-vscode.cpptools):
{ "type": "elide-native", "request": "launch", "name": "Elide: Debug Native Image", "artifact": "bin" }Añada -g a options.flags del artefacto en elide.pkl para usar puntos de interrupción a nivel de código fuente; la
información de depuración solo se genera en Linux. program depura un binario existente y build: false omite la
compilación.
Espacios de trabajo
Un manifiesto con workspace.members se sincroniza como una sola compilación. Cada miembro es un proyecto en la barra
lateral, la vista Testing, las tareas y las configuraciones de inicio, y la inteligencia de código sigue las
dependencias project("name") entre miembros sin compilar. Al abrir el directorio de un miembro, la extensión ofrece
abrir la raíz del espacio de trabajo. Consulte Espacios de trabajo.
Ajustes
| Ajuste | Predeterminado | Efecto |
|---|---|---|
elide.home | "" | Raíz de la instalación de Elide. Vacío: $ELIDE_HOME, las ubicaciones de instalación y, por último, elide en PATH. |
elide.jdk.home | "" | JDK para la inteligencia de código. |
elide.sync.onStartup | true | Sincroniza al abrir el espacio de trabajo. |
elide. | "prompt" | always, prompt o never. |
elide. | true | Escribe workspace.json. |
elide. | ["sources"] | JAR adicionales por paquete Maven: sources, docs. |
elide.flags | [] | Opciones -f NAME[=VALUE] para cada invocación, incluida la sincronización. |
elide.build.options | {} | Opciones predeterminadas de elide build; lo mismo para elide.run.options, elide.test.options y elide.install.options. |
elide.codeLens.enabled | true | Muestra los code lens Run y Debug. |
elide.debug.adapter | "intellij" | intellij o java. |
elide. | "auto" | gdb, lldb o auto para las sesiones de Native Image. |
elide. | "" | Binario de GDB o lldb-mi para las sesiones de Native Image. |