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.