Documentație / IDE-ul
Inteligența codului
Navigare exactă, referințe, ierarhii, refactorizări cu previzualizare și căutare de simboluri.
Yuli îți înțelege codul, nu doar textul lui. Navigarea te duce mereu la linia exactă, iar refactorizările îți arată impactul înainte de a fi aplicate.
Navigare
| Acțiune | Scurtătură |
|---|---|
| Salt la definiție | Ctrl+B sau Ctrl+Clic |
| Salt la implementare | Ctrl+Alt+B |
| Găsește utilizările | Alt+F7 sau Shift+F12 |
| Ierarhia apelurilor | Ctrl+Alt+H |
| Ierarhia tipurilor | Ctrl+H |
| Fluxul și urma metodei | Ctrl+Alt+F |
| Caută simbol (clasă, metodă…) | Ctrl+T |
| Salt la un simbol din fișier | Ctrl+Shift+O |
| Salt la obiectul din baza de date (funcție, pachet, tabel) | Ctrl+Alt+J |
Ctrl+Clic aproape instantaneu
Destinația se rezolvă cât timp cursorul stă pe simbol, iar fișierul este citit în avans. Dacă tot durează, apare o notificare discretă care nu blochează editorul.
Cod generat
Accesorii generați din adnotări (getterii, setterii, constructorii și builderii Lombok) duc la câmpul din care provin.
Panoul de referințe
Un panou compact pe două coloane: clasa și membrul, plus fragmentul liniei. Opțiunile lui sunt reținute:
- Accese de citire și de scriere.
- Cod generat.
- Importuri.
- Calea fișierului.
- Grupare după fișier.
- Previzualizarea codului.
Refactorizări
| Refactorizare | Scurtătură |
|---|---|
| Redenumește simbolul | Shift+F6 (sau F2) |
| Extrage metoda | Ctrl+Alt+Shift+M |
| Schimbă semnătura | Ctrl+F6 |
| Mută clasa | F6 |
| Extragerea unei variabile și inline | Din acțiunile rapide (Alt+Enter) |
Redenumirea arată previzualizarea impactului înainte de aplicare.
Biblioteci externe
Dependențele pot fi parcurse din panoul proiectului. Clasele lor se deschid în linie sau în vizualizare împărțită, cu codul sursă sau decompilate, întotdeauna doar în citire.
Jar-uri proprii
Adaugă biblioteci .jar în Proiect → Structura proiectului… sau cu Adaugă .jar din panoul Maven / Gradle:
- Ca dependență reală: în Maven,
systemsau instalată în depozitul local; în Gradle,implementation files(...). - Sau ca bibliotecă a IDE-ului, fără a atinge build-ul.
Motorul Java rezolvă aceste jar-uri chiar dacă Maven sau Gradle nu pot rula.
Proiecte nemigrate
Yuli înțelege un build.xml Ant și fișierele .classpath și .project ale Eclipse (surse, jar-uri, variabile și rădăcina web WTP). Ai completare automată, navigare și compilare fără Maven sau Gradle.
Framework-uri
| Framework | Ce înțelege |
|---|---|
| Spring | Bean-uri, injecție și endpoint-uri. Panoul Spring din panoul inferior. |
| JPA și Hibernate | Entități, mapări XML și tabele. |
| Struts 1 și 2 | Acțiuni, formulare și configurare. |
| Servlets și JSP | web.xml, taglib-uri, include-uri și mesaje. |
| Lombok | Accesori, constructori și builderi. |
Cum funcționează în interior
| Piesă | Ce face |
|---|---|
| Tree-sitter | Analizează codul incremental. |
| Graful de simboluri | Clase, metode, câmpuri și relațiile dintre ele (apelează, extinde, implementează, injectează). |
| SQLite | Salvează graful în .ai/codebase/, în afara Git. |
| Invalidare | Când editezi un fișier, se reanalizează doar ce depinde de el. |
| Compilatorul Java | Rezolvarea exactă a tipurilor. |
Panoul Code Intelligence (Alt+0) arată starea indexului.
Cu agentul
Agentul folosește aceeași inteligență: yuli_find_references, yuli_impact, yuli_search_symbols, yuli_refactor… Pentru a răspunde la întrebări despre proiect, extrage un subgraf delimitat în loc să citească fișiere întregi, ceea ce economisește context și tokeni.
Inspecții și calitate
Deasupra codului apar și inspecțiile (null-safety, cod mort, Spring) și metricile de calitate: deasupra fiecărei metode, CC · CoG · MI · líneas · cobertura · costo. Severitățile se ajustează în Opțiuni globale → Inspecții. Vezi Măsurarea față de N−1.