Documentación / El IDE

Servidores de lenguaje y build

Los servidores de lenguaje que Yuli instala y mantiene por ti, sin npm ni Node del sistema, y los adaptadores de build para Python, Go, .NET, sbt, Bazel y Node.

Para cada lenguaje, Yuli usa el servidor de lenguaje (LSP) de referencia y lo gestiona por ti: lo descarga con tu permiso, lo verifica y lo mantiene fuera de tus proyectos. Java tiene su propio motor nativo y CSS, SCSS y LESS los resuelve el editor.

Servidores gestionados

Lenguaje Servidor Se instala desde
TypeScript y JavaScript typescript-language-server con typescript (el tsserver real) Registro npm
Python Pyright Registro npm
Go gopls go install
Kotlin kotlin-language-server Zip de GitHub
C# csharp-ls dotnet tool
PHP Intelephense Registro npm
Ruby ruby-lsp gem
C y C++ clangd 19.1.2 Zip de GitHub
Bash bash-language-server Registro npm
Dockerfile dockerfile-language-server-nodejs Registro npm
Rust rust-analyzer Binario de GitHub

Sin npm ni Node en tu equipo

  • Los paquetes se descargan directo del registro npm y se comprueban contra la suma SHA-512 que publica el registro.
  • No se ejecutan scripts de instalación ni dependencias opcionales.
  • Corren sobre el propio Electron de Yuli en modo Node, o sobre un Node que descarga Yuli. No hace falta que tengas npm ni Node instalados.
  • Se guardan en <runtimes>/<servidor>/<versión>/.
  • Una descarga se corta solo si deja de llegar información durante 60 segundos; una descarga lenta pero activa no se interrumpe.

La carpeta de runtimes de Yuli (<runtimes>) depende del sistema:

%LOCALAPPDATA%\.yulicode\runtimes

Con tu permiso

Si falta el servidor de un lenguaje, el editor muestra «Sin servidor de lenguaje para…» con estas opciones:

Opción Qué hace
Autorizar descarga / Autorizar instalación Yuli lo instala y lo arranca
Ahora no No pregunta más durante esta sesión
No volver a preguntar Recuerda tu decisión para ese servidor

No se descargará ni ejecutará nada sin tu autorización. Las decisiones se guardan en lsp-install-consent.json, junto a tu configuración, por servidor y por destino (este equipo o un host remoto).

En Opciones globales → Servidores de lenguaje puedes indicar la ruta de un servidor que ya tengas o una URL o espejo de confianza.

Adaptadores de build

Yuli detecta cómo se construye cada proyecto por sus archivos, sin ejecutar nada para averiguarlo, y usa esas herramientas para compilar, ejecutar, probar y mostrar resultados en el panel Tests.

  • Gestores: pip (requirements*.txt, setup.py o un pyproject.toml simple), Poetry, uv, Pipenv y Hatch.
  • Entorno: usa el entorno virtual del proyecto (.venv/venv, las carpetas de Poetry y Pipenv o la de Hatch). Sin entorno, usa el run del gestor y, si no, el Python del sistema.
  • Pruebas: pytest si el proyecto lo configura o depende de él; si no, unittest.
  • El mismo entorno se le pasa a Pyright, así el autocompletado ve tus dependencias.

Maven, Gradle, Ant y Cargo siguen como siempre; ver Ejecutar y depurar.

▶ en el margen

Junto al código aparece un ▶ para ejecutar o depurar lo que tienes delante. Solo se muestra cuando el proyecto es de verdad de ese tipo.

Lenguaje Ejecutar Depurar
Python if __name__ == "__main__": y pruebas de pytest o unittest if __name__ == "__main__":
Go func main y func TestX func main y func TestX
C# Pruebas de xUnit, NUnit y MSTest static void Main(

Además, en un package.json cada script tiene su ▶ (se ejecuta con el gestor del proyecto), y en Java hay ▶ para clases con main, pruebas y tareas de Maven y Gradle.

Ver Depuración para las sesiones de depuración y Editor y lenguajes para el resto del editor.