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.