Scala-Code-Formatter (Scalafmt-Stil)
Führung
Scala-Code-Formatter (Scalafmt-Stil)
Füge deinen Scala-Quellcode ein und erhältst den formatierten Code im Stil von Scalafmt – 2-Leerzeichen-Einstellung, ausgeglichene Klammern, normalisierte Operatorabstände, sortierte Imports und konsistente Endkommas. Das Ergebnis ist deterministisch, sodass der gleiche Eingang immer das gleiche Ergebnis erzeugt, was in Code-Reviews sauberere Differenzen erzeugt und die Diskussion über Whitespace vermeidet.
Nutzung
- Füge deinen Scala-Code in das Eingabefeld ein, oder lade das Beispiel hoch, um zu sehen, wie es funktioniert.
- Wähle eine Einrückungsstil (2 Leerzeichen ist der Standardwert von Scalafmt) und eine maximale Spaltenbreite (80, 100, 120 oder 160).
- Aktiviere die Optionen, die du möchtest: Endkommas in mehrzeiligen Listen, sortierte/ gruppierte Imports, Operatorabstand, Kommentarbeibehaltung und Zusammenführung von Leerzeilen.
- Klicken Sie auf Format. Kopiere das Ergebnis mit der Kopfzeile oder lade es als
.scalaDatei.
Funktionen
- Standardstil von Scalafmt – Spiegelt die Konventionen wider, die vom offiziellen scalafmt-Tool verwendet werden, einschließlich Einrückung, Klammern und Abstand von Binäroperatoren.
- Konfigurierbare Einrückung – Wähle 2 Leerzeichen, 4 Leerzeichen oder Tabs, um deinen Projekts Stilrichtlinie zu entsprechen.
- Maximale Spaltenbreite – Wähle 80, 100, 120 oder 160, um die Formatierungspolitik deines Teams zu passen.
- Sortierte und gruppierte Imports – Ordnet die Imports alphabetisch und gruppiert sie in Bereiche für Standardbibliothek, Drittanbieter und lokale Dateien mit Leerzeilen zwischen den Gruppen.
- Kommas am Ende – Fügt Kommas am Ende von mehrzeiligen Argument- und Parameterlisten hinzu, um sauberere Versionskontrollen zu erzeugen.
- Kommentarbeibehaltung – Behält Zeilenumbrüche, Blockkommentare und Scaladoc unverändert bei, während der umgebende Code aufgeräumt wird.
- String- und Interpolationssicher – Die Formatierung berührt nie den Inhalt von Strings, Zeichenliterale, dreifachgezogenen Strings oder
s"..."/f"..."Interpolationen. - Skalafmt-3-geeignet – Versteht moderne Scala-3-Schlüsselwörter wie
given,using,then,enumundderives. - Laufend im Browser – Keine Upload, keine Server-Runde, keine Telemetrie. Dein Code bleibt auf deinem Gerät.
Häufige Anwendungsfälle
- Vorbereite einen kurzen Codeausschnitt, bevor du ihn in einen Slack-Thread, eine Stack Overflow-Antwort oder einen technischen Blogbeitrag einfügst.
- Normalisiere die Formatierung in älteren Projekten, die noch keine scalafmt-Konfiguration im Repository haben.
- Vorformatiere generierte Code (Macro-Ausgabe, Fallklassen aus Schemata usw.), damit er wie manuell geschriebener Scala aussieht.
- Standardisiere den Stil in Dateien mit verschiedenen Autoren, bei denen jeder eine leicht abweichende IDE-Einstellung verwendet hat.
- Überprüfe eine kleine Refaktorierung ohne das Starten von sbt oder dem Scala-Build-Workflow.
Häufig gestellte Fragen
-
Was ist Scalafmt und warum ist konsistente Scala-Formatierung wichtig?
Scalafmt ist der de facto-Code-Formatter für das Scala-Ökosystem. Er verankert eine einheitliche, deterministische Formatierung über das gesamte Codebase, was die Diskussion über Formatierung in Code-Reviews beseitigt, die durch Whitespace verursachten, störenden Differenzen reduziert und hilft neuen Mitarbeitern, sich in das Projekt einzubinden. Konsistente Formatierung macht es einfacher, unbekannte Code zu scannen, weil die Einrückung und Abstände immer die gleiche Bedeutung haben.
-
Warum wählt Scalafmt standardmäßig eine maximale Spaltenbreite von 80?
Die 80-Spalten-Convention hat ihre Ursprünge in frühen Terminalen und Punched-Cards, aber sie überlebt heute, weil schmalere Zeilen in Seitenvergleichen, Code-Review-Tools und geteilten Editor-Fenstern leichter lesbar sind. Eine 80-Spalten-Begrenzung fördert auch kürzere Bezeichner, weniger tief verschachtelte Ausdrücke und häufigere Extraktion von Hilfsfunktionen. Viele Teams entspannen diese Grenze auf 100 oder 120 Spalten, weshalb moderne Formater diese Einstellung konfigurieren lassen.
-
Was sind Endkommas und warum sind sie nützlich?
Ein Endkomma ist ein Komma nach dem letzten Element einer mehrzeiligen Liste, Argumentliste oder Parameterliste. Sie wurden in Formattierungen populär, weil sie sauberere Zeilen-Differenzen erzeugen: Hinzufügen eines neuen Elements erzeugt nur eine Zeile statt die Änderung der vorherigen Zeile, um ein Komma hinzuzufügen. Endkommas erleichtern auch das Umordnen von Zeilen, da jedes Element gleich endet. Scala unterstützt Endkommas in Argument- und Parameterlisten seit Version 2.12.2.
-
Warum werden Imports typischerweise in Standardbibliothek, Drittanbieter und lokal gruppiert?
Die Gruppierung von Imports nach Ursprung ist eine langjährige Konvention, die von Sprachen wie Go und Python (mit isort) übernommen wurde. Sie macht die Abhängigkeitsprovenienz augenblicklich sichtbar: Standardbibliothek-Imports kommen zuerst, gefolgt von Drittanbieterbibliotheken und dann von Code aus demselben Projekt. Die Leerzeilen zwischen den Gruppen dienen als visuelle Markierungen, sodass Reviewer schnell erkennen können, wenn eine Änderung eine neue externe Abhängigkeit einführt, was oft ein Wertschätzungszeichen ist.
-
Was ist der Unterschied zwischen syntaktischem und semantischem Codeformatieren?
Ein syntaktischer Formatter ordnet Leerzeichen, Zeilenumbrüche und Einrückungen ausschließlich auf der Quelltextbasis an – er benötigt keine Typenkenntnisse, Symbolauflösung oder Compiler-Ausführung. Ein semantischer Formatter hingegen kann Identifikatoren umbenennen, Methoden nach Nutzungsort sortieren oder nicht genutzte Imports entfernen, weil er Zugriff auf den Compiler-Überblick über das Programm hat. Scalafmt ist hauptsächlich syntaktisch, was es schnell und sicher bei unvollständigen oder nicht kompilierten Code ausführt.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug wurde am 16. Juni 2026 hinzugefügt
