Documentação / O IDE
Editor e linguagens
Linguagens com realce de sintaxe, servidores de linguagem, o motor Java nativo e as ferramentas de edição do dia a dia.
O editor do Yuli tem realce semântico, autocompletar, code lens, formatação e diagnósticos ao vivo. O trabalho pesado fica com o motor nativo, então o editor continua ágil mesmo em repositórios grandes.
Linguagens com realce
| Família | Linguagens e arquivos |
|---|---|
| JVM | Java, Kotlin, Scala, Groovy e Gradle |
| Web | JavaScript, TypeScript, JSX e TSX, HTML, CSS, SCSS e LESS |
| Java web clássico | JSP, JSPF, JSPX, TAG, TLD e XHTML |
| Sistemas | C, C++, C#, Go, Rust, Swift e Dart |
| Scripting | Python, Ruby, PHP, Perl, Lua, R, Shell, PowerShell e Batch |
| Dados | SQL, JSON, YAML, TOML, XML, GraphQL e Protobuf |
| Configuração | .properties, .env, INI, Dockerfile, Jenkinsfile, Terraform, Makefile e .gitignore |
| Documentos | Markdown |
O código PL/SQL é reconhecido pelo conteúdo.
Servidores de linguagem
Para algumas linguagens, o Yuli usa um servidor de linguagem (LSP) que fornece autocompletar e diagnósticos completos.
| Servidor | Linguagens |
|---|---|
| Eclipse JDT LS | Java |
| typescript-language-server | TypeScript e JavaScript |
| vscode-css-language-server | CSS, SCSS e LESS |
| Pyright | Python |
| rust-analyzer | Rust |
Instalação com a sua permissão
Nada é baixado em silêncio. Se faltar o servidor de uma linguagem, aparece o aviso “Sem servidor de linguagem para…” com Instalar…. Ao aceitar, o Yuli o baixa e verifica sua soma SHA-256.
Gerencie os servidores em Opções globais → Servidores de linguagem.
O motor Java nativo
O Java tem, além disso, um motor de inteligência de código próprio, escrito em Rust:
- Analisa com Tree-sitter e guarda um grafo de símbolos em SQLite.
- Resolve tipos com o compilador Java para ser exato.
- Lê o classpath do Maven e do Gradle sem depender das ferramentas deles, e entende projetos Ant e Eclipse sem migração.
- Conhece Spring, JPA e Hibernate, Lombok, Jakarta, Struts e JBoss.
- Reindexa apenas o que mudou.
Veja Inteligência de código.
Edição
| Função | Como |
|---|---|
| Autocompletar | Ctrl+Space |
| Ações rápidas (quick fix, importar, perguntar ao agente) | Alt+Enter ou Ctrl+. |
| Reformatar | Ctrl+Alt+L |
| Otimizar imports | Ctrl+Alt+O |
| Comentar ou descomentar | Ctrl+/ |
| Buscar no arquivo | Ctrl+F |
| Buscar e substituir em arquivos | Ctrl+Shift+S |
| Ir para a linha | Ctrl+G |
| Quebra de linha | Alt+Z |
Salvamento automático
O Yuli salva após uma pausa na digitação e ao trocar de janela. Isso é configurado em Opções globais → Build, execução e depuração, junto com o restante do build.
Visualização dividida
Ctrl+\ divide à direita e Ctrl+Shift+\ abaixo. Você pode abrir ao lado qualquer arquivo do projeto, uma classe de uma biblioteca externa (código-fonte ou descompilado, somente leitura) ou um arquivo de outro projeto. O seletor tem busca aproximada.
Comparador
Ferramentas → Comparador de texto… compara dois textos, e Comparar arquivo ativo com a visualização dividida compara os dois lados, em diff lado a lado ou em linha.
Arquivos especiais
| Arquivo | O que o Yuli oferece |
|---|---|
.properties |
Editor de mensagens: tabela chave × idioma por bundle (Struts, JSTL, Spring), chaves faltando ou sobrando, respeitando Latin-1 ou UTF-8. |
hbm.xml e hibernate.cfg.xml |
Ctrl+Clique da classe para a entidade e da propriedade para o campo; validação de tabelas e colunas contra o banco de dados. |
| XML do projeto | Formatar documento para pom.xml, web.xml, struts-config.xml, descritores do Eclipse, TLD e JSPX, respeitando comentários e CDATA. |
| Markdown, OpenAPI e documentos | Pré-visualização. |
| Configuração da equipe, plugins e CI | Validação e autocompletar com esquemas JSON. |
Diagnósticos sem atrapalhar
Nada é escrito ao lado do código. O trecho com problema ganha a sua cor e uma linha fina embaixo; a mensagem aparece ao passar o mouse.
| Cor | Significado |
|---|---|
| Vermelho | Erro |
| Amarelo | Aviso |
| Azul | Informação |
| Cinza em itálico | Código sem uso |
As severidades da análise se distinguem em bloqueante, crítica, maior, menor e informativa.
Autocompletar
O autocompletar em linha do motor local está sempre disponível. O autocompletar com IA vem desligado e é ativado por escolha, com o provedor e o modelo que você preferir.
Aparência
Temas claro e escuro, com uma paleta de código sóbria pensada para longas jornadas. Fonte, minimapa, ligaduras e espaçamento são ajustados em Opções globais → Editor.