Dokumentation / Die IDE
Code-Intelligenz
Exakte Navigation, Referenzen, Hierarchien, Refactorings mit Vorschau und Symbolsuche.
Yuli versteht deinen Code, nicht nur seinen Text. Die Navigation führt immer zur exakten Zeile, und Refactorings zeigen ihre Auswirkungen, bevor sie angewendet werden.
Navigation
| Aktion | Tastenkürzel |
|---|---|
| Zur Definition | Ctrl+B oder Ctrl+Klick |
| Zur Implementierung | Ctrl+Alt+B |
| Verwendungen suchen | Alt+F7 oder Shift+F12 |
| Aufrufhierarchie | Ctrl+Alt+H |
| Typhierarchie | Ctrl+H |
| Ablauf und Trace der Methode | Ctrl+Alt+F |
| Symbol suchen (Klasse, Methode …) | Ctrl+T |
| Zu Symbol in der Datei | Ctrl+Shift+O |
| Zum Datenbankobjekt (Funktion, Paket, Tabelle) | Ctrl+Alt+J |
Ctrl+Klick nahezu ohne Verzögerung
Das Ziel wird aufgelöst, während der Cursor über dem Symbol steht, und die Datei wird vorab gelesen. Dauert es trotzdem, erscheint ein dezenter Hinweis, der den Editor nicht blockiert.
Generierter Code
Durch Annotationen erzeugte Zugriffsmethoden (Getter, Setter, Konstruktoren und Builder von Lombok) führen zu dem Feld, aus dem sie stammen.
Referenzen-Panel
Ein kompaktes Panel mit zwei Spalten: Klasse und Member sowie der Ausschnitt der Zeile. Seine Optionen werden gespeichert:
- Lese- und Schreibzugriffe.
- Generierter Code.
- Imports.
- Dateipfad.
- Nach Datei gruppieren.
- Code-Vorschau.
Refactorings
| Refactoring | Tastenkürzel |
|---|---|
| Symbol umbenennen | Shift+F6 (oder F2) |
| Methode extrahieren | Ctrl+Alt+Shift+M |
| Signatur ändern | Ctrl+F6 |
| Klasse verschieben | F6 |
| Variable extrahieren und Inline | Über die Schnellaktionen (Alt+Enter) |
Beim Umbenennen siehst du vor dem Anwenden eine Vorschau der Auswirkungen.
Externe Bibliotheken
Abhängigkeiten lassen sich im Projekt-Panel durchsuchen. Ihre Klassen öffnen sich inline oder in geteilter Ansicht, mit Quellcode oder dekompiliert, immer schreibgeschützt.
Eigene JARs
Füge .jar-Bibliotheken unter Projekt → Projektstruktur… oder mit .jar hinzufügen im Maven-/Gradle-Panel hinzu:
- Als echte Abhängigkeit: in Maven als
systemoder im lokalen Repository installiert; in Gradle alsimplementation files(...). - Oder als IDE-Bibliothek, ohne den Build anzufassen.
Die Java-Engine löst diese JARs auch dann auf, wenn Maven oder Gradle nicht ausgeführt werden können.
Projekte ohne Migration
Yuli versteht eine Ant-build.xml sowie die .classpath- und .project-Dateien von Eclipse (Quellen, JARs, Variablen und das Web-Root von WTP). Autovervollständigung, Navigation und Kompilierung funktionieren ohne Maven oder Gradle.
Frameworks
| Framework | Was Yuli versteht |
|---|---|
| Spring | Beans, Injection und Endpoints. Panel Spring im unteren Panel. |
| JPA und Hibernate | Entitäten, XML-Mappings und Tabellen. |
| Struts 1 und 2 | Actions, Formulare und Konfiguration. |
| Servlets und JSP | web.xml, Taglibs, Includes und Messages. |
| Lombok | Zugriffsmethoden, Konstruktoren und Builder. |
Wie es intern funktioniert
| Baustein | Was er tut |
|---|---|
| Tree-sitter | Analysiert den Code inkrementell. |
| Symbolgraph | Klassen, Methoden, Felder und ihre Beziehungen (ruft auf, erweitert, implementiert, injiziert). |
| SQLite | Speichert den Graphen in .ai/codebase/, außerhalb von Git. |
| Invalidierung | Beim Bearbeiten einer Datei wird nur neu analysiert, was von ihr abhängt. |
| Java-Compiler | Exakte Typauflösung. |
Das Panel Code Intelligence (Alt+0) zeigt den Status des Index.
Mit dem Agenten
Der Agent nutzt dieselbe Intelligenz: yuli_find_references, yuli_impact, yuli_search_symbols, yuli_refactor … Um Fragen zum Projekt zu beantworten, extrahiert er einen eingegrenzten Teilgraphen, statt ganze Dateien zu lesen. Das spart Kontext und Tokens.
Inspektionen und Qualität
Über dem Code erscheinen außerdem die Inspektionen (Null-Safety, toter Code, Spring) und die Qualitätsmetriken: über jeder Methode CC · CoG · MI · líneas · cobertura · costo. Die Schweregrade passt du unter Globale Optionen → Inspektionen an. Siehe Messung gegen N−1.