Documentation / L’IDE

Intelligence du code

Navigation exacte, références, hiérarchies, refactorisations avec aperçu et recherche de symboles.

Yuli comprend votre code, et pas seulement son texte. La navigation mène toujours à la ligne exacte et les refactorisations montrent leur impact avant d’être appliquées.

Action Raccourci
Aller à la définition Ctrl+B ou Ctrl+Clic
Aller à l'implémentation Ctrl+Alt+B
Rechercher les utilisations Alt+F7 ou Shift+F12
Hiérarchie des appels Ctrl+Alt+H
Hiérarchie des types Ctrl+H
Flux et trace de la méthode Ctrl+Alt+F
Rechercher un symbole (classe, méthode…) Ctrl+T
Aller au symbole du fichier Ctrl+Shift+O
Aller à l’objet de base de données (fonction, package, table) Ctrl+Alt+J

Ctrl+Clic quasi instantané

La destination est résolue pendant que le curseur survole le symbole, et le fichier est lu à l’avance. Si cela prend tout de même du temps, un avis discret apparaît sans bloquer l’éditeur.

Code généré

Les accesseurs générés par des annotations (getters, setters, constructeurs et builders de Lombok) mènent au champ dont ils proviennent.

Panneau des références

Un panneau compact sur deux colonnes : la classe et le membre, puis l’extrait de la ligne. Ses options sont mémorisées :

  • Accès en lecture et en écriture.
  • Code généré.
  • Imports.
  • Chemin du fichier.
  • Regrouper par fichier.
  • Aperçu du code.

Refactorisations

Refactorisation Raccourci
Renommer le symbole Shift+F6 (ou F2)
Extraire une méthode Ctrl+Alt+Shift+M
Changer la signature Ctrl+F6
Déplacer la classe F6
Extraire une variable et inline Depuis les actions rapides (Alt+Enter)

Le renommage affiche l’aperçu de l’impact avant d’être appliqué.

Bibliothèques externes

Les dépendances sont navigables depuis le panneau du projet. Leurs classes s’ouvrent en ligne ou en vue fractionnée, avec le code source ou décompilées, toujours en lecture seule.

Vos propres jars

Ajoutez des bibliothèques .jar dans Projet → Structure du projet… ou avec Ajouter un .jar depuis le panneau Maven / Gradle :

  • Comme véritable dépendance : avec Maven, system ou installée dans le dépôt local ; avec Gradle, implementation files(...).
  • Ou comme bibliothèque de l’IDE, sans toucher au build.

Le moteur Java résout ces jars même si Maven ou Gradle ne peuvent pas s’exécuter.

Projets non migrés

Yuli comprend un build.xml d’Ant ainsi que les fichiers .classpath et .project d’Eclipse (sources, jars, variables et la racine web de WTP). Vous disposez de la saisie semi-automatique, de la navigation et de la compilation sans Maven ni Gradle.

Frameworks

Framework Ce qu’il comprend
Spring Beans, injection et endpoints. Panneau Spring dans le panneau inférieur.
JPA et Hibernate Entités, mappings XML et tables.
Struts 1 et 2 Actions, formulaires et configuration.
Servlets et JSP web.xml, taglibs, includes et messages.
Lombok Accesseurs, constructeurs et builders.

Comment cela fonctionne en interne

Composant Ce qu’il fait
Tree-sitter Analyse le code de manière incrémentale.
Graphe de symboles Classes, méthodes, champs et leurs relations (appelle, étend, implémente, injecte).
SQLite Stocke le graphe dans .ai/codebase/, en dehors de Git.
Invalidation Lorsque vous modifiez un fichier, seul ce qui en dépend est réanalysé.
Compilateur Java Résolution exacte des types.

Le panneau Code Intelligence (Alt+0) affiche l’état de l’index.

Avec l’agent

L’agent utilise la même intelligence : yuli_find_references, yuli_impact, yuli_search_symbols, yuli_refactor… Pour répondre aux questions sur le projet, il extrait un sous-graphe délimité au lieu de lire des fichiers entiers, ce qui économise du contexte et des tokens.

Inspections et qualité

Le code affiche également les inspections (null-safety, code mort, Spring) et les métriques de qualité : au-dessus de chaque méthode, CC · CoG · MI · líneas · cobertura · costo. Les sévérités se règlent dans Options globales → Inspections. Voir Mesure par rapport à N−1.