Documentație / IDE-ul
Rulare și depanare
Build cu Maven, Gradle, Ant, npm sau Cargo, servere de aplicații, depanatoare JDWP, CDP și PL/SQL, hot swap și diagnosticarea JVM.
Yuli compilează, rulează, testează și depanează cu uneltele proiectului tău. Oprirea unui build, a unui log sau a unui test încheie întregul arbore de procese.
Unelte de build
| Unealtă | Proiecte |
|---|---|
| Maven | Java cu pom.xml |
| Gradle | Java și Kotlin cu build.gradle |
| Ant | Java cu build.xml |
| npm | JavaScript și TypeScript (detectează managerul după lockfile) |
| Cargo | Rust |
Yuli înțelege și proiectele Eclipse fără migrare.
Toolchain-uri
Yuli detectează JDK-ul, Maven și Gradle, se oferă să descarce ce lipsește și le afișează starea. Se configurează în Proiect → Build, rulare și depanare…: variabile de mediu, opțiuni VM, profiluri Spring, SDK, Maven, Gradle și salvare.
Panoul Maven / Gradle / Ant
În panoul inferior (Alt+7): filtru, profiluri sub formă de chip-uri, fazele ciclului de viață pe o bandă și restul sarcinilor în carduri grupate.
Rulare
| Acțiune | Scurtătură |
|---|---|
| Rulează ultima configurație | Shift+F10 |
| Depanează ultima configurație | Shift+F9 |
| Oprește rularea | Ctrl+F2 |
| Compilează proiectul | Ctrl+F9 |
| Rulează toate testele | Ctrl+Shift+F10 |
| Rulează testele cu acoperire | Ctrl+Shift+F11 |
Configurații de rulare
Tipuri: build, rulare, teste, curățare, acoperire, împachetare, comandă proprie și script din package.json. Au istoric.
Consola
În panoul Rulare, fiecare linie de stack trace a proiectului, fiecare eroare JSP și fiecare Archivo.java:42 duce la fișierul și linia respectivă. Filtrează după nivel, după pachet sau logger, ori după Codul meu (doar ce provine din proiect).
Servere de aplicații
În Proiect → Structura proiectului… → Servere:
| Server | Note |
|---|---|
| Tomcat | Reîncarcă contextul la actualizarea claselor. |
| Jetty | — |
| JBoss / WildFly | — |
| WebLogic | Domeniu în modul de dezvoltare. |
- Implementare exploded: JSP, HTML, CSS, JS și
.propertiesajung pe server la salvare, fără reimplementare. Actualizează copiază clasele recompilate. - Fiecare server rulează cu propria configurație în cadrul proiectului, cu porturi proprii.
- Pornește în modul rulare sau depanare; depanatorul se conectează singur.
- Te avertizează dacă aplicația folosește
javaxpe un serverjakarta, sau invers. - API-urile serverului (Servlet, JSP) intră în classpath-ul editorului.
Depanare
| Limbaj | Depanator |
|---|---|
| Java și JVM | Client JDWP nativ |
| Node.js | Chrome DevTools Protocol (CDP) |
| Oracle PL/SQL | DBMS_DEBUG de la Oracle |
Funcții
- Arbore de variabile și inspectarea obiectelor, cu valori afișate în linie peste cod.
- Valori lizibile: un obiect apare ca
Owner{id=3, firstName="George", …}, o dată ca2026-10-15, o colecție cu dimensiunea ei. - Breakpoint-uri condiționale, cu numărare, logpoint-uri și de excepție.
- Evaluator de expresii și modificarea valorilor din mers.
- Depanarea testelor.
Pași
| Acțiune | Scurtătură |
|---|---|
| Continuă | F9 |
| Linia următoare (step over) | F8 |
| Intră, doar în codul tău (step into) | F7 |
| Forțează intrarea | Alt+Shift+F7 |
| Ieși din metodă | Shift+F8 |
| Reîncarcă clasele modificate (hot swap) | Ctrl+Alt+F10 |
Hot swap
Recompilează cu unealta proiectului și redefinește clasele modificate în timpul sesiunii de depanare, fără repornire.
PL/SQL
Pentru depanarea în Oracle, utilizatorul are nevoie de privilegiul DEBUG CONNECT SESSION, iar obiectele trebuie compilate cu COMPILE DEBUG.
Diagnosticarea JVM
Panoul JVM (în „Mai mult” din panoul inferior) se conectează la orice proces Java local.
| Unealtă | Ce face |
|---|---|
| Dump de fire | Grupează după stare și evidențiază blocajele și interblocajele. |
| Histogramă de memorie | Memoria pe clasă. La repetare, arată ce a crescut (scurgeri). |
| Dump de heap | Salvează un .hprof pentru Eclipse MAT sau VisualVM. |
| Profilează CPU și memoria | Cu Flight Recorder: metodele cele mai costisitoare, arborele de apeluri, alocările și GC. Dacă JVM-ul nu îl acceptă, profilează prin eșantionarea firelor. |
File: CPU, Memorie, Alocări și Fire de execuție. Filtrul Doar codul proiectului păstrează doar ce este al tău, iar cadrele din proiect duc la linia exactă.
Teste și acoperire
- Exploratorul de teste rulează testele și raportează rezultatele în panoul Teste.
- Acoperirea se vede în marginea editorului: acoperit, neacoperit și parțial.
- În Gradle, acoperirea se generează fără a atinge build-ul, chiar și în proiectele multimodul.
Cu agentul
Cere „compilează, testează și pornește”, iar agentul folosește yuli_verify: build complet, toate testele și o pornire cu profilul implicit. Dacă aplicația nu pornește din cauza unei variabile de mediu sau a unui profil, agentul poate verifica problema și îți cere doar valorile secrete.