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.