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ó.
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.