Documentation / L’IDE

Éditeur et langages

Langages avec coloration, serveurs de langage, moteur Java natif et outils d’édition du quotidien.

L’éditeur de Yuli offre la coloration sémantique, la saisie semi-automatique, le code lens, le formatage et les diagnostics en direct. Le travail lourd est confié au moteur natif : l’éditeur reste ainsi réactif, même sur de grands dépôts.

Langages avec coloration

Famille Langages et fichiers
JVM Java, Kotlin, Scala, Groovy et Gradle
Web JavaScript, TypeScript, JSX et TSX, HTML, CSS, SCSS et LESS
Java web classique JSP, JSPF, JSPX, TAG, TLD et XHTML
Systèmes C, C++, C#, Go, Rust, Swift et Dart
Scripting Python, Ruby, PHP, Perl, Lua, R, Shell, PowerShell et Batch
Données SQL, JSON, YAML, TOML, XML, GraphQL et Protobuf
Configuration .properties, .env, INI, Dockerfile, Jenkinsfile, Terraform, Makefile et .gitignore
Documents Markdown

Le code PL/SQL est reconnu d’après son contenu.

Serveurs de langage

Pour certains langages, Yuli utilise un serveur de langage (LSP) qui fournit une saisie semi-automatique et des diagnostics complets.

Serveur Langages
Eclipse JDT LS Java
typescript-language-server TypeScript et JavaScript
vscode-css-language-server CSS, SCSS et LESS
Pyright Python
rust-analyzer Rust

Installation avec votre autorisation

Rien n’est téléchargé à votre insu. S’il manque le serveur d’un langage, l’avertissement « Aucun serveur de langage pour… » apparaît avec Installer…. Si vous acceptez, Yuli le télécharge et vérifie sa somme SHA-256.

Gérez les serveurs dans Options globales → Serveurs de langage.

Le moteur Java natif

Java dispose en outre de son propre moteur d’intelligence du code, écrit en Rust :

  • Il analyse avec Tree-sitter et stocke un graphe de symboles dans SQLite.
  • Il résout les types avec le compilateur Java pour être exact.
  • Il lit le classpath Maven et Gradle sans dépendre de leurs outils, et comprend les projets Ant et Eclipse sans migration.
  • Il connaît Spring, JPA et Hibernate, Lombok, Jakarta, Struts et JBoss.
  • Il ne réindexe que ce qui a changé.

Voir Intelligence du code.

Édition

Fonction Comment
Saisie semi-automatique Ctrl+Space
Actions rapides (quick fix, import, question à l’agent) Alt+Enter ou Ctrl+.
Reformater Ctrl+Alt+L
Optimiser les imports Ctrl+Alt+O
Commenter ou décommenter Ctrl+/
Rechercher dans le fichier Ctrl+F
Rechercher et remplacer dans les fichiers Ctrl+Shift+S
Aller à la ligne Ctrl+G
Retour à la ligne automatique Alt+Z

Enregistrement automatique

Yuli enregistre après une pause dans la saisie et lorsque vous changez de fenêtre. Cela se configure dans Options globales → Build, exécution et débogage, avec le reste du build.

Vue fractionnée

Ctrl+\ divise vers la droite et Ctrl+Shift+\ vers le bas. Vous pouvez ouvrir à côté n’importe quel fichier du projet, une classe d’une bibliothèque externe (source ou décompilée, en lecture seule) ou un fichier d’un autre projet. Le sélecteur dispose d’une recherche approximative.

Comparateur

Outils → Comparateur de texte… compare deux textes, et Comparer le fichier actif avec la vue fractionnée compare les deux côtés, en diff côte à côte ou en ligne.

Fichiers spéciaux

Fichier Ce que propose Yuli
.properties Éditeur de messages : tableau clé × langue par bundle (Struts, JSTL, Spring), clés manquantes ou en trop, en respectant Latin-1 ou UTF-8.
hbm.xml et hibernate.cfg.xml Ctrl+Clic de la classe vers l’entité et de la propriété vers le champ ; validation des tables et colonnes par rapport à la base de données.
XML du projet Formater le document pour pom.xml, web.xml, struts-config.xml, descripteurs Eclipse, TLD et JSPX, en respectant les commentaires et les CDATA.
Markdown, OpenAPI et documents Aperçu.
Configuration de l’équipe, plugins et CI Validation et saisie semi-automatique avec des schémas JSON.

Des diagnostics discrets

Rien n’est écrit à côté du code. Le fragment qui pose problème prend une teinte et un fin soulignement ; le message apparaît au survol de la souris.

Teinte Signification
Rouge Erreur
Jaune Avertissement
Bleu Information
Gris en italique Code inutilisé

Les sévérités de l’analyse se distinguent en bloquante, critique, majeure, mineure et informative.

Saisie semi-automatique

La saisie semi-automatique en ligne du moteur local est toujours disponible. La saisie semi-automatique par IA est désactivée par défaut et s’active sur choix, avec le fournisseur et le modèle de votre préférence.

Apparence

Thèmes clair et sombre, avec une palette de code sobre pensée pour les longues journées. Police, minimap, ligatures et espacements se règlent dans Options globales → Éditeur.