Saltar al contenido

Extensión de VS Code

La extensión de Elide para VS Code 1.105 o posterior: sincronización del proyecto para la inteligencia de código de Kotlin y Java, la barra lateral de Elide, code lens, pruebas, depuración, tareas y ajustes.

En esta página

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

RequisitoNotas
VS Code 1.105 o posteriorVS Code de escritorio o una compilación remota o de servidor con un sistema de archivos local.
Elide 1.5 o posteriorSe 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 JetBrainsJetBrains.kotlin-server; se instala con la extensión. Complete su asistente de primer uso.
Un JDKPara 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-*.vsix

Help → 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.

VS CodeSync and the Elide sidebar0:19Add a dependency to elide.pkl, reload when prompted, find it under Dependencies.
Barra de estadoSignificado
Elide con una marca de verificaciónSincronizado
Elide con un indicador giratorioSincronizando
Elide: out of dateelide.pkl o las dependencias resueltas han cambiado
Elide en color de errorLa 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:

GrupoFilasAcciones
EntrypointsEntradas jvm.main, entrypoint y scriptsRun, Debug
Tasksbuild, test, install y Build targets de elide build --inspectRun, Debug en los destinos que aceptan --debugger
Source setsCada conjunto de fuentes y sus raíces
DependenciesBibliotecas resueltasMostrar 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.

VS CodeKotlin code intelligence0:12After a sync, the Kotlin language server completes project members and shows inlay hints.
  • 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 de jvm.javaHome, $JAVA_HOME o un JDK instalado que coincida con jvm.target.
  • Un repositorio puede conservar un directorio .idea de IntelliJ: la extensión define intellij.buildTool como json en 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óndeCode lens
Encima de una función main de la JVMRun with Elide, Debug with Elide
jvm.main y entrypoint en elide.pklRun, Debug
Entradas scriptsRun script
Entradas artifactsBuild; los binarios de Native Image también Run y Debug
VS CodeRun with Elide0:08The code lens above main runs the entrypoint with elide run in a task terminal.

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.

ComandoEfecto
Elide: Run Elide Command…Ejecuta build, test, install o run <entrypoint> como tarea.
Elide: Sync Project(s)Vuelve a sincronizar.
Elide: Show MenuEl 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 workspaceAbre workspace.json.
Elide: Show OutputMuestra 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 } }
CampoValor
commandbuild, run, test o install
argsArgumentos posicionales: destinos de compilación, rutas de pruebas, el punto de entrada
optionsOpciones de la CLI: { "no-cache": true } añade --no-cache; false elimina una heredada
flagsOpciones de compilación -f NAME[=VALUE]
programArgsArgumentos después de --
env, projectEntorno; 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.

VS CodeTests in the Testing view0:10JUnit tests run through elide test and report per test.

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() }
  }
}
VS CodeRun with Coverage0:10Run the tests with coverage and read covered lines in the gutter and the Test Coverage view.

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.

VS CodeDebug with Elide0:13Stop on a breakpoint and inspect variables in a Kotlin program run by Elide.

En .vscode/launch.json:

{
  "type": "elide",
  "request": "launch",
  "name": "Elide: Run (debug)",
  "entrypoint": "src/main/kotlin/shop/Main.kt"
}
CampoValor
commandrun (predeterminado), test, o build con targets
entrypointArchivo, script o punto de entrada; si está vacío, se usa el del manifiesto
argsArgumentos del programa
elideArgs, options, flags, env, projectIgual 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

AjustePredeterminadoEfecto
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.onStartuptrueSincroniza al abrir el espacio de trabajo.
elide.sync.onManifestChange"prompt"always, prompt o never.
elide.kotlinLsp.writeWorkspaceJsontrueEscribe workspace.json.
elide.install.classifiers["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.enabledtrueMuestra los code lens Run y Debug.
elide.debug.adapter"intellij"intellij o java.
elide.debug.nativeMiMode"auto"gdb, lldb o auto para las sesiones de Native Image.
elide.debug.miDebuggerPath""Binario de GDB o lldb-mi para las sesiones de Native Image.

¿Te resultó útil esta página?