Dokumentation / Die IDE
Editor und Sprachen
Sprachen mit Syntaxhervorhebung, Language Server, die native Java-Engine und die Bearbeitungswerkzeuge für den Alltag.
Der Editor von Yuli bietet semantische Hervorhebung, Autovervollständigung, Code Lens, Formatierung und Live-Diagnosen. Die schwere Arbeit übernimmt die native Engine, sodass der Editor auch in großen Repositories flott bleibt.
Sprachen mit Syntaxhervorhebung
| Familie | Sprachen und Dateien |
|---|---|
| JVM | Java, Kotlin, Scala, Groovy und Gradle |
| Web | JavaScript, TypeScript, JSX und TSX, HTML, CSS, SCSS und LESS |
| Klassisches Java-Web | JSP, JSPF, JSPX, TAG, TLD und XHTML |
| Systeme | C, C++, C#, Go, Rust, Swift und Dart |
| Scripting | Python, Ruby, PHP, Perl, Lua, R, Shell, PowerShell und Batch |
| Daten | SQL, JSON, YAML, TOML, XML, GraphQL und Protobuf |
| Konfiguration | .properties, .env, INI, Dockerfile, Jenkinsfile, Terraform, Makefile und .gitignore |
| Dokumente | Markdown |
PL/SQL-Code wird anhand seines Inhalts erkannt.
Language Server
Für einige Sprachen nutzt Yuli einen Language Server (LSP), der vollständige Autovervollständigung und Diagnosen liefert.
| Server | Sprachen |
|---|---|
| Eclipse JDT LS | Java |
| typescript-language-server | TypeScript und JavaScript |
| vscode-css-language-server | CSS, SCSS und LESS |
| Pyright | Python |
| rust-analyzer | Rust |
Installation mit deiner Erlaubnis
Nichts wird stillschweigend heruntergeladen. Fehlt der Server für eine Sprache, erscheint der Hinweis „Kein Sprachserver für …“ mit Installieren…. Stimmst du zu, lädt Yuli ihn herunter und prüft seine SHA-256-Prüfsumme.
Verwalte die Server unter Globale Optionen → Language Server.
Die native Java-Engine
Für Java gibt es zusätzlich eine eigene, in Rust geschriebene Code-Intelligenz-Engine:
- Sie analysiert mit Tree-sitter und speichert einen Symbolgraphen in SQLite.
- Sie löst Typen mit dem Java-Compiler auf, um exakt zu sein.
- Sie liest den Classpath von Maven und Gradle, ohne von deren Tools abzuhängen, und versteht Ant- und Eclipse-Projekte ohne Migration.
- Sie kennt Spring, JPA und Hibernate, Lombok, Jakarta, Struts und JBoss.
- Sie indiziert nur neu, was sich geändert hat.
Siehe Code-Intelligenz.
Bearbeiten
| Funktion | Wie |
|---|---|
| Autovervollständigung | Ctrl+Space |
| Schnellaktionen (Quick Fix, Import, den Agenten fragen) | Alt+Enter oder Ctrl+. |
| Neu formatieren | Ctrl+Alt+L |
| Imports optimieren | Ctrl+Alt+O |
| Aus- oder einkommentieren | Ctrl+/ |
| In Datei suchen | Ctrl+F |
| In Dateien suchen und ersetzen | Ctrl+Shift+S |
| Gehe zu Zeile | Ctrl+G |
| Zeilenumbruch | Alt+Z |
Automatisches Speichern
Yuli speichert nach einer Tipppause und beim Wechsel des Fensters. Eingestellt wird das unter Globale Optionen → Build, Ausführung und Debugging, zusammen mit dem Rest des Builds.
Geteilte Ansicht
Ctrl+\ teilt nach rechts, Ctrl+Shift+\ nach unten. Daneben kannst du jede Projektdatei öffnen, eine Klasse aus einer externen Bibliothek (Quellcode oder dekompiliert, schreibgeschützt) oder eine Datei aus einem anderen Projekt. Die Auswahl bietet eine unscharfe Suche.
Vergleich
Werkzeuge → Textvergleich… vergleicht zwei Texte, und Aktive Datei mit der geteilten Ansicht vergleichen vergleicht beide Seiten – als Diff nebeneinander oder inline.
Besondere Dateien
| Datei | Was Yuli bietet |
|---|---|
.properties |
Nachrichten-Editor: Tabelle Schlüssel × Sprache pro Bundle (Struts, JSTL, Spring), fehlende oder überzählige Schlüssel, unter Beachtung von Latin-1 oder UTF-8. |
hbm.xml und hibernate.cfg.xml |
Ctrl+Klick von der Klasse zur Entität und von der Property zum Feld; Validierung von Tabellen und Spalten gegen die Datenbank. |
| Projekt-XML | Dokument formatieren für pom.xml, web.xml, struts-config.xml, Eclipse-Deskriptoren, TLD und JSPX – Kommentare und CDATA bleiben erhalten. |
| Markdown, OpenAPI und Dokumente | Vorschau. |
| Team-Konfiguration, Plugins und CI | Validierung und Autovervollständigung mit JSON-Schemas. |
Diagnosen, die nicht stören
Neben den Code wird nichts geschrieben. Das betroffene Fragment erhält seinen Farbton und eine feine Linie darunter; die Meldung erscheint, wenn du mit der Maus darüberfährst.
| Farbton | Bedeutung |
|---|---|
| Rot | Fehler |
| Gelb | Warnung |
| Blau | Information |
| Grau kursiv | Ungenutzter Code |
Die Schweregrade der Analyse werden als blockierend, kritisch, hoch, niedrig und informativ unterschieden.
Autovervollständigung
Die Inline-Autovervollständigung der lokalen Engine ist immer verfügbar. Die KI-gestützte Autovervollständigung ist standardmäßig aus und wird bei Bedarf aktiviert – mit dem Anbieter und Modell deiner Wahl.
Darstellung
Helle und dunkle Themes mit einer zurückhaltenden Code-Palette für lange Arbeitstage. Schrift, Minimap, Ligaturen und Abstände stellst du unter Globale Optionen → Editor ein.