Documentație / IDE-ul
Editor și limbaje
Limbaje cu evidențiere de sintaxă, servere de limbaj, motorul Java nativ și uneltele de editare de zi cu zi.
Editorul Yuli are evidențiere semantică, completare automată, code lens, formatare și diagnostice în timp real. Munca grea o face motorul nativ, așa că editorul rămâne agil chiar și în depozite mari.
Limbaje cu evidențiere de sintaxă
| Familie | Limbaje și fișiere |
|---|---|
| JVM | Java, Kotlin, Scala, Groovy și Gradle |
| Web | JavaScript, TypeScript, JSX și TSX, HTML, CSS, SCSS și LESS |
| Java web clasic | JSP, JSPF, JSPX, TAG, TLD și XHTML |
| Sisteme | C, C++, C#, Go, Rust, Swift și Dart |
| Scripting | Python, Ruby, PHP, Perl, Lua, R, Shell, PowerShell și Batch |
| Date | SQL, JSON, YAML, TOML, XML, GraphQL și Protobuf |
| Configurare | .properties, .env, INI, Dockerfile, Jenkinsfile, Terraform, Makefile și .gitignore |
| Documente | Markdown |
Codul PL/SQL este recunoscut după conținut.
Servere de limbaj
Pentru unele limbaje, Yuli folosește un server de limbaj (LSP) care oferă completare automată și diagnostice complete.
| Server | Limbaje |
|---|---|
| Eclipse JDT LS | Java |
| typescript-language-server | TypeScript și JavaScript |
| vscode-css-language-server | CSS, SCSS și LESS |
| Pyright | Python |
| rust-analyzer | Rust |
Instalare cu permisiunea ta
Nimic nu se descarcă în tăcere. Dacă lipsește serverul unui limbaj, apare avertismentul „Niciun server de limbaj pentru…” cu Instalează…. Când accepți, Yuli îl descarcă și îi verifică suma SHA-256.
Gestionează serverele în Opțiuni globale → Servere de limbaj.
Motorul Java nativ
Java are în plus un motor propriu de inteligență a codului, scris în Rust:
- Analizează cu Tree-sitter și salvează un graf de simboluri în SQLite.
- Rezolvă tipurile cu compilatorul Java, pentru exactitate.
- Citește classpath-ul Maven și Gradle fără să depindă de uneltele lor și înțelege proiectele Ant și Eclipse fără migrare.
- Cunoaște Spring, JPA și Hibernate, Lombok, Jakarta, Struts și JBoss.
- Reindexează doar ce s-a schimbat.
Vezi Inteligența codului.
Editare
| Funcție | Cum |
|---|---|
| Completare automată | Ctrl+Space |
| Acțiuni rapide (quick fix, import, întreabă agentul) | Alt+Enter sau Ctrl+. |
| Reformatare | Ctrl+Alt+L |
| Optimizarea importurilor | Ctrl+Alt+O |
| Comentare sau decomentare | Ctrl+/ |
| Căutare în fișier | Ctrl+F |
| Căutare și înlocuire în fișiere | Ctrl+Shift+S |
| Salt la linie | Ctrl+G |
| Încadrarea liniilor | Alt+Z |
Salvare automată
Yuli salvează după o pauză în scriere și la schimbarea ferestrei. Se configurează în Opțiuni globale → Build, rulare și depanare, împreună cu restul build-ului.
Vizualizare împărțită
Ctrl+\ împarte la dreapta, iar Ctrl+Shift+\ în jos. Poți deschide alături orice fișier din proiect, o clasă dintr-o bibliotecă externă (sursă sau decompilată, doar citire) sau un fișier din alt proiect. Selectorul are căutare fuzzy.
Comparator
Instrumente → Comparator de text… compară două texte, iar Compară fișierul activ cu vizualizarea împărțită compară cele două părți, cu diff alăturat sau în linie.
Fișiere speciale
| Fișier | Ce oferă Yuli |
|---|---|
.properties |
Editor de mesaje: tabel cheie × limbă pentru fiecare bundle (Struts, JSTL, Spring), chei lipsă sau în plus, cu respectarea Latin-1 sau UTF-8. |
hbm.xml și hibernate.cfg.xml |
Ctrl+Clic de la clasă la entitate și de la proprietate la câmp; validarea tabelelor și coloanelor față de baza de date. |
| XML-ul proiectului | Formatează documentul pentru pom.xml, web.xml, struts-config.xml, descriptorii Eclipse, TLD și JSPX, cu respectarea comentariilor și a secțiunilor CDATA. |
| Markdown, OpenAPI și documente | Previzualizare. |
| Configurația echipei, pluginuri și CI | Validare și completare automată cu scheme JSON. |
Diagnostice care nu deranjează
Nimic nu este scris lângă cod. Fragmentul cu o problemă capătă nuanța ei și o linie subțire dedesubt; mesajul apare când treci cu mouse-ul peste el.
| Nuanță | Semnificație |
|---|---|
| Roșu | Eroare |
| Galben | Avertisment |
| Albastru | Informație |
| Gri cursiv | Cod nefolosit |
Severitățile analizei se împart în blocantă, critică, majoră, minoră și informativă.
Completare automată
Completarea în linie a motorului local este mereu disponibilă. Completarea cu IA vine dezactivată și se activează la alegere, cu furnizorul și modelul preferat.
Aspect
Teme luminoase și întunecate, cu o paletă de cod sobră, gândită pentru zile lungi de lucru. Fontul, minimap-ul, ligaturile și spațierea se ajustează în Opțiuni globale → Editor.