Documentación / El IDE

Editor y lenguajes

Lenguajes con resaltado, servidores de lenguaje, el motor Java nativo y las herramientas de edición del día a día.

El editor de Yuli tiene resaltado semántico, autocompletado, code lens, formato y diagnósticos en vivo. El trabajo pesado lo hace el motor nativo, así el editor se mantiene ágil aun en repositorios grandes.

Lenguajes con resaltado

Familia Lenguajes y archivos
JVM Java, Kotlin, Scala, Groovy y Gradle
Web JavaScript, TypeScript, JSX y TSX, HTML, CSS, SCSS y LESS
Java web clásico JSP, JSPF, JSPX, TAG, TLD y XHTML
Sistemas C, C++, C#, Go, Rust, Swift y Dart
Scripting Python, Ruby, PHP, Perl, Lua, R, Shell, PowerShell y Batch
Datos SQL, JSON, YAML, TOML, XML, GraphQL y Protobuf
Configuración .properties, .env, INI, Dockerfile, Jenkinsfile, Terraform, Makefile y .gitignore
Documentos Markdown

El código PL/SQL se reconoce por su contenido.

Servidores de lenguaje

Para algunos lenguajes, Yuli usa un servidor de lenguaje (LSP) que aporta autocompletado y diagnósticos completos.

Servidor Lenguajes
Eclipse JDT LS Java
typescript-language-server TypeScript y JavaScript
vscode-css-language-server CSS, SCSS y LESS
Pyright Python
rust-analyzer Rust

Instalación con tu permiso

Nada se descarga en silencio. Si falta el servidor de un lenguaje, aparece el aviso «Sin servidor de lenguaje para…» con Instalar…. Al aceptar, Yuli lo descarga y verifica su suma SHA-256.

Gestiona los servidores en Opciones globales → Servidores de lenguaje.

El motor Java nativo

Java tiene además un motor de inteligencia de código propio, escrito en Rust:

  • Analiza con Tree-sitter y guarda un grafo de símbolos en SQLite.
  • Resuelve tipos con el compilador de Java para ser exacto.
  • Lee el classpath de Maven y Gradle sin depender de sus herramientas, y entiende proyectos Ant y Eclipse sin migrar.
  • Conoce Spring, JPA e Hibernate, Lombok, Jakarta, Struts y JBoss.
  • Reindexa solo lo que cambió.

Ver Inteligencia de código.

Edición

Función Cómo
Autocompletar Ctrl+Space
Acciones rápidas (quick fix, importar, preguntar al agente) Alt+Enter o Ctrl+.
Reformatear Ctrl+Alt+L
Optimizar imports Ctrl+Alt+O
Comentar o descomentar Ctrl+/
Buscar en el archivo Ctrl+F
Buscar y reemplazar en archivos Ctrl+Shift+S
Ir a línea Ctrl+G
Ajuste de línea Alt+Z

Guardado automático

Yuli guarda tras una pausa al escribir y al cambiar de ventana. Se configura en Opciones globales → Build, ejecución y depuración, junto al resto del build.

Vista dividida

Ctrl+\ divide a la derecha y Ctrl+Shift+\ abajo. Puedes abrir al lado cualquier archivo del proyecto, una clase de una biblioteca externa (fuente o decompilada, de solo lectura) o un archivo de otro proyecto. El selector tiene búsqueda difusa.

Comparador

Herramientas → Comparador de texto… compara dos textos, y Comparar archivo activo con la vista dividida compara los dos lados, en diff lado a lado o en línea.

Archivos especiales

Archivo Qué ofrece Yuli
.properties Editor de mensajes: tabla clave × idioma por bundle (Struts, JSTL, Spring), claves que faltan o sobran, respetando Latin-1 o UTF-8.
hbm.xml y hibernate.cfg.xml Ctrl+Clic de la clase a la entidad y de la propiedad al campo; validación de tablas y columnas contra la base de datos.
XML del proyecto Formatear documento para pom.xml, web.xml, struts-config.xml, descriptores de Eclipse, TLD y JSPX, respetando comentarios y CDATA.
Markdown, OpenAPI y documentos Vista previa.
Configuración del equipo, plugins y CI Validación y autocompletado con esquemas JSON.

Diagnósticos sin estorbar

Nada se escribe al lado del código. El fragmento con un problema toma su tono y una línea fina debajo; el mensaje aparece al pasar el ratón.

Tono Significado
Rojo Error
Amarillo Aviso
Azul Información
Gris en cursiva Código sin uso

Las severidades del análisis se distinguen como bloqueante, crítico, mayor, menor e informativo.

Autocompletado

El autocompletado en línea del motor local está siempre disponible. El autocompletado con IA viene apagado y se activa por elección, con el proveedor y el modelo que prefieras.

Apariencia

Temas claro y oscuro, con una paleta de código sobria pensada para jornadas largas. Fuente, minimapa, ligaduras y espacios se ajustan en Opciones globales → Editor.