Dokumentation / Die IDE
Ausführen und debuggen
Build mit Maven, Gradle, Ant, npm oder Cargo, Anwendungsserver, JDWP-, CDP- und PL/SQL-Debugger, Hot Swap und JVM-Diagnose.
Yuli kompiliert, führt aus, testet und debuggt mit den Werkzeugen deines Projekts. Wenn du einen Build, ein Log oder einen Test stoppst, wird der gesamte Prozessbaum beendet.
Build-Werkzeuge
| Werkzeug | Projekte |
|---|---|
| Maven | Java mit pom.xml |
| Gradle | Java und Kotlin mit build.gradle |
| Ant | Java mit build.xml |
| npm | JavaScript und TypeScript (erkennt den Paketmanager am Lockfile) |
| Cargo | Rust |
Yuli versteht auch Eclipse-Projekte ohne Migration.
Toolchains
Yuli erkennt JDK, Maven und Gradle, bietet an, Fehlendes herunterzuladen, und zeigt ihren Status an. Konfiguriert werden sie unter Projekt → Build, Ausführung und Debugging…: Umgebungsvariablen, VM-Optionen, Spring-Profile, SDK, Maven, Gradle und Speichern.
Panel Maven / Gradle / Ant
Im unteren Panel (Alt+7): Filter, Profile als Chips, die Lebenszyklusphasen in einem Streifen und die übrigen Tasks als Karten nach Gruppe.
Ausführen
| Aktion | Tastenkürzel |
|---|---|
| Letzte Konfiguration ausführen | Shift+F10 |
| Letzte Konfiguration debuggen | Shift+F9 |
| Ausführung stoppen | Ctrl+F2 |
| Projekt bauen | Ctrl+F9 |
| Alle Tests ausführen | Ctrl+Shift+F10 |
| Tests mit Coverage ausführen | Ctrl+Shift+F11 |
Ausführungskonfigurationen
Typen: Build, Ausführung, Tests, Bereinigung, Coverage, Paketierung, eigener Befehl und Skript aus package.json. Sie haben einen Verlauf.
Die Konsole
Im Panel Ausführung führt jede Stack-Trace-Zeile des Projekts, jeder JSP-Fehler und jedes Archivo.java:42 zur Datei und Zeile. Filtere nach Level, nach Paket oder Logger oder nach Mein Code (nur was aus dem Projekt stammt).
Anwendungsserver
Unter Projekt → Projektstruktur… → Server:
| Server | Hinweise |
|---|---|
| Tomcat | Lädt den Kontext neu, wenn Klassen aktualisiert werden. |
| Jetty | — |
| JBoss / WildFly | — |
| WebLogic | Domain im Entwicklungsmodus. |
- Exploded-Deployment: JSP, HTML, CSS, JS und
.propertieslanden beim Speichern auf dem Server, ohne erneutes Deployment. Aktualisieren kopiert die neu kompilierten Klassen. - Jeder Server läuft mit seiner eigenen Konfiguration innerhalb des Projekts und mit eigenen Ports.
- Startet im Ausführungs- oder im Debug-Modus; der Debugger verbindet sich automatisch.
- Warnt, wenn die App
javaxauf einemjakarta-Server verwendet oder umgekehrt. - Die Server-APIs (Servlet, JSP) kommen in den Classpath des Editors.
Debuggen
| Sprache | Debugger |
|---|---|
| Java und JVM | Nativer JDWP-Client |
| Node.js | Chrome DevTools Protocol (CDP) |
| Oracle PL/SQL | DBMS_DEBUG von Oracle |
Funktionen
- Variablenbaum und Objektinspektion, mit Inline-Werten direkt im Code.
- Lesbare Werte: Ein Objekt erscheint als
Owner{id=3, firstName="George", …}, ein Datum als2026-10-15, eine Collection mit ihrer Größe. - Bedingte Breakpoints, Breakpoints mit Trefferzähler, Logpoints und Exception-Breakpoints.
- Ausdrucksauswertung und Ändern von Werten zur Laufzeit.
- Debuggen von Tests.
Schritte
| Aktion | Tastenkürzel |
|---|---|
| Fortsetzen | F9 |
| Nächste Zeile (Step Over) | F8 |
| Hineinspringen, nur dein Code (Step Into) | F7 |
| Hineinspringen erzwingen | Alt+Shift+F7 |
| Methode verlassen | Shift+F8 |
| Geänderte Klassen neu laden (Hot Swap) | Ctrl+Alt+F10 |
Hot Swap
Kompiliert mit dem Werkzeug des Projekts neu und definiert die geänderten Klassen während der Debug-Sitzung neu, ohne Neustart.
PL/SQL
Zum Debuggen in Oracle braucht der Benutzer das Privileg DEBUG CONNECT SESSION, und die Objekte müssen mit COMPILE DEBUG kompiliert sein.
JVM-Diagnose
Das Panel JVM (unter „Mehr“ im unteren Panel) verbindet sich mit jedem lokalen Java-Prozess.
| Werkzeug | Was es tut |
|---|---|
| Thread-Dump | Gruppiert nach Status und hebt Sperren und Deadlocks hervor. |
| Speicher-Histogramm | Speicher pro Klasse. Bei Wiederholung zeigt es, was gewachsen ist (Lecks). |
| Heap-Dump | Speichert eine .hprof für Eclipse MAT oder VisualVM. |
| CPU und Speicher profilieren | Mit Flight Recorder: teuerste Methoden, Aufrufbaum, Allokationen und GC. Unterstützt die JVM das nicht, wird per Thread-Sampling profiliert. |
Tabs: CPU, Speicher, Allokationen und Threads. Der Filter Nur Projektcode lässt nur deinen Code übrig, und die Frames des Projekts führen zur exakten Zeile.
Tests und Coverage
- Der Test-Explorer führt Tests aus und meldet die Ergebnisse im Panel Tests.
- Die Coverage siehst du am Rand des Editors: abgedeckt, nicht abgedeckt und teilweise.
- Bei Gradle wird die Coverage erzeugt, ohne den Build anzufassen, auch in Multimodul-Projekten.
Mit dem Agenten
Bitte um „kompilieren, testen und starten“, und der Agent verwendet yuli_verify: vollständiger Build, alle Tests und ein Start mit dem Standardprofil. Startet die Anwendung wegen einer Umgebungsvariable oder eines Profils nicht, kann der Agent das prüfen und dich nur nach den geheimen Werten fragen.