Code verschönern
Fünf Sprachen, eine Einrückung
Code verschönern heißt hier: die Datei wird so gelesen, wie es die Sprache tut, und dann neu ausgelegt. Wählen Sie einen von fünf Modi, stellen Sie Einrückung und Klammerstil ein, und kopieren Sie das Ergebnis zurück in Ihren Editor. Nichts, was Sie einfügen, verlässt den Browser.
- KostenlosPreis
- 5Sprachen
- KeineAnmeldung
- KeineUploads
Code-Verschönerer
Rücken Sie Java, C, C++, ActionScript oder eine crontab neu ein, und sehen Sie die Zeilennummer jeder Klammer, die nicht aufgeht
Bereit. Fügen Sie eine Datei ein, oder drücken Sie eine der Beispiel-Schaltflächen.
Was Code verschönern mit einer Datei macht
Layout und Bedeutung sind im Quellcode zwei verschiedene Dinge. Deshalb kann ein Code-Verschönerer jedes Leerzeichen ändern, ohne zu ändern, was das Programm tut.
Das ist das ganze Versprechen. Dieser Code-Verschönerer liest die Datei, findet heraus, wo jeder Block beginnt und endet, und schreibt die Zeilen mit einer Einrückung zurück, die zur Verschachtelung passt.
Fünf Modi stecken hinter einem Editor in diesem Code-Verschönerer: Java, C, C++, ActionScript und crontab. Weil die ersten vier eine Klammer-Grammatik teilen, teilen sie den größten Teil des Lesers, und jeder ergänzt eigene Regeln darauf.
Alles läuft in diesem Tab. Also ordnen Sie eine Datei unter Geheimhaltung, ohne dass sie einen Server berührt.
Das Ergebnis ist eine Datei, die ein Prüfer lesen kann. Da ein Diff die Layout-Änderung vollständig zeigt, behalten Sie die Kontrolle darüber, was ins Repository zurückgeht.
Wie Code verschönern eine Datei liest
Ein Formatierer kann nicht einfach Leerzeichen zählen. Stattdessen läuft er einmal durch den Text und verfolgt seinen Zustand.
Der Leser kennt vier Zustände: gewöhnlicher Code, ein Zeichenketten-Literal, ein Zeichen-Literal und ein Kommentar. Weil eine Klammer im Code eine Sache bedeutet und in einer Zeichenkette gar nichts, entscheidet der Zustand alles.

Genau diese eine Regel trennt einen Verschönerer von Suchen und Ersetzen. Ein regulärer Ausdruck, der bei jeder öffnenden Klammer einrückt, verschiebt die Zeilen in einer Zeichenkette, die zufällig eine Klammer enthält.

Also vermisst der Leser eine Zeile, statt sie neu zu schreiben. Dann legt die Tiefe, die er am Zeilenumbruch hält, die Einrückung der nächsten Zeile fest.
Die Tiefe steigt bei einer öffnenden Klammer und fällt bei einer schließenden. Der Leser übergeht dabei eine Klammer in einem Kommentar oder Literal, und die Tiefe bleibt, wo sie war.
Warum eine Klammer in einer Zeichenkette zählt
Denken Sie an eine Zeile, die aus einer einzelnen Klammer eine Nachricht baut, oder an einen regulären Ausdruck als Literal. Für einen Zähler sieht jede wie der Anfang eines Blocks aus.
Von da an ist die Einrückung für den Rest der Datei falsch. Der Fehler ist stumm, weil die Datei noch übersetzt. Sie liest sich nur ab einer Zeile schlecht.
Der Leser vermeidet das, indem er im Literal nicht zählt. Also ist eine Klammer in einer Zeichenkette Text, eine Klammer in einem Kommentar ist Text, und nur eine Klammer im Code bewegt die Tiefe.
Ein escapedes Anführungszeichen behandelt der Leser genauso. Weil ein Backslash in einem Literal den Leser in diesem Literal hält, beendet ein Anführungszeichen mitten in einer Zeichenkette sie nicht.
Dieselbe Zustandsmaschine erklärt drei der häufigen Fehler, die weiter unten auf dieser Seite stehen. Deshalb lohnt es sich, sie zweimal zu lesen.
Einrückung und Klammerstil, Seite an Seite
Zwei Einstellungen machen fast die ganze sichtbare Arbeit in einem Code-Verschönerer. Die erste ist die Einrückung, und die zweite ist, wo die öffnende Klammer sitzt.

Die Einrückungsbreite ist eine Zahl von Leerzeichen, zwei bis acht, oder ein einzelner Tabulator. Weil die Wahl eine Hausordnung und keine Korrektheitsfrage ist, passt beides, solange die Datei einheitlich bleibt.
Der Klammerstil hat drei übliche Antworten, und der Streit ist alt genug, dass Wikipedia die benannten Varianten auflistet. Bei der ersten öffnet die Klammer am Ende der Zeile, die sie braucht. Bei der zweiten öffnet sie auf einer eigenen Zeile mit gleicher Einrückung. Bei der dritten öffnet sie auf ihrer eigenen Zeile eine Stufe tiefer.
Sie in einer Datei zu mischen, macht eine Codebasis schwer überfliegbar. Deshalb gilt die Einstellung für die ganze Datei auf einmal, und der Körper wird unter der neuen Wahl neu ausgelegt.
Eine schließende Klammer sitzt immer auf der Einrückung der Zeile, die sie geöffnet hat. Diese eine Regel macht eine lange Methode lesbar, weil das Auge das Ende eines Blocks ohne Zählen findet.
Was das Formatieren von crontab bringt
Eine crontab-Datei ist keine Klammer-Sprache, also wechselt der Leser zu einer anderen Aufgabe. Statt zu verschachteln, prüft er, dass jede Zeile die richtige Anzahl Felder hat.

Fünf Felder ergeben einen Zeitplan: Minute, Stunde, Tag des Monats, Monat und Wochentag, wie es die cron-Referenz darlegt. Dann folgt ein Befehl, und dessen eigene Leerzeichen bleiben in Ruhe.
Also zählt das Werkzeug die Felder, nennt fehlende und zeigt einen Wert, der nichts bedeuten kann. Eine Stunde von 26 und eine Minute von 61 sind beide unmöglich, und beide sind schnell getippt.
Ein Schritt-Wert und ein Bereich bekommen dieselbe Behandlung. Weil fünf Schrägstrich zwei und neun Strich siebzehn die zwei Formen sind, die am häufigsten vertippt werden, prüft das Werkzeug jede gegen ihre Grenzen.
Kommentare mit einer Raute am Anfang bleiben, wo sie sind. Folglich kommt die Datei mit unversehrten Notizen und ausgerichteten Spalten zurück.
So nutzen Sie den Code-Verschönerer
Vier Schritte, und keiner braucht ein Konto. Den Rest macht der Code-Verschönerer.
- 1
Wählen Sie die Sprache
Also wählen Sie Java, C, C++, ActionScript oder crontab. Der Modus entscheidet, welcher Leser läuft, und er ist die einzige Einstellung, die ändert, was das Werkzeug versteht.
- 2
Fügen Sie die Datei ein
Dann fügen Sie eine ganze Datei oder eine einzelne Methode ein. Weil der Leser den Text liest und keine übersetzte Form, ist ein Fragment in Ordnung, solange seine Klammern passen.
- 3
Stellen Sie Einrückung und Klammerstil ein
Als Nächstes wählen Sie zwei, vier oder acht Leerzeichen, oder einen Tabulator. Dann wählen Sie, wo die öffnende Klammer sitzt. So folgt das Ergebnis der Hausordnung und nicht der Vorgabe Ihres Editors.
- 4
Lesen Sie die Hinweise, dann kopieren Sie
Zuletzt gehen Sie die Hinweise unter der Vorschau durch. Danach kopieren Sie das Ergebnis zurück, oder laden es als Datei mit der Endung herunter, die der Modus vorschlägt.
Warum Code verschönern hier läuft
Fünf Gründe, und jeder spart einen Weg hin und zurück.
Er liest Zeichenketten und Kommentare
Weil der Leser seinen Zustand verfolgt, bewegt eine Klammer in einem Literal oder Kommentar nie die Einrückung. Daher kommt eine Datei mit einer Nachricht voller Klammern korrekt zurück.
Fünf Modi, ein Editor
Also wechseln Sie zwischen Java und einer crontab, ohne einen zweiten Tab zu öffnen. Zusammen decken sie fast alles ab, was ein Build-Verzeichnis enthält.
Nichts wird hochgeladen
Lesen und Neuschreiben laufen beide in diesem Tab. Folglich unterscheidet sich eine Datei unter Geheimhaltung hier nicht von einer öffentlichen.
Die Hinweise nennen die Zeile
Weil die Hinweise die Zeile einer unausgeglichenen Klammer nennen, ist eine Datei, die nicht sitzt, leicht zu finden. So dient das Werkzeug zugleich als schnelle Prüfung.
Er berührt die Bedeutung nicht
Nur Leerzeichen ändern sich. Also behält ein Token, eine Zeichenkette oder ein Kommentar jedes Zeichen, das er hatte, und der Unterschied in einer Prüfung ist allein das Layout.
Gewohnheiten, die formatierten Code lesbar halten
Sechs Gewohnheiten, die entscheiden, ob eine formatierte Datei lesbar bleibt.
- Formatieren Sie die Datei, nicht das Fragment Also lassen Sie die ganze Datei auf einmal durchlaufen. Eine einzeln formatierte Methode kann auf einer anderen Tiefe landen als die Klasse um sie herum, und die Naht ist sichtbar.
- Halten Sie eine Einrückung pro Repository Weil ein gemischtes Repository jeden Diff laut macht, ist die Zahl weniger wichtig als die Einheitlichkeit. Wählen Sie eine und lassen Sie sie in der Editor-Konfiguration.
- Formatieren Sie vor der Prüfung, nicht während Also legen Sie die Layout-Änderung in einen eigenen Commit. Dann sieht ein Prüfer einen Diff nur aus Leerzeichen, und die Logik-Änderung bleibt eine getrennte Lektüre.
- Lassen Sie lange Zeichenketten in Ruhe Ein Verschönerer kann ein Literal nicht umbrechen, ohne es zu ändern. Weil eine umbrochene URL oder SQL-Anweisung etwas anderes bedeutet, lassen Sie solche Zeilen lang.
- Prüfen Sie die crontab-Spalten mit dem Auge Also lesen Sie die fünf Felder nach dem Formatieren einmal. Ein Wert, den das Werkzeug annimmt, kann den Job trotzdem zur falschen Stunde planen, und die Datei ist der Ort, an dem das sichtbar wird.
- Achten Sie auf die erste Zeilenzahl Vergleichen Sie zuletzt die Zeilenzahl vorher und nachher. Weil ein Formatierer nur Leerzeichen bewegt, sollte die Zahl passen, und ein Unterschied heißt, dass etwas anderes sich geändert hat.
Sechs Wege, auf denen ein Formatierer überrascht
Jeder sieht in der Vorschau gut aus und kostet später Zeit.
Eine Datei formatieren, die nicht übersetzt
Achtung hier. Eine unausgeglichene Klammer lässt den Leser für den Rest der Datei eine Stufe daneben. Daher wirkt die Vorschau verschoben und die Hinweise nennen die Zeile, an der es schiefging.
Erwarten, dass ein Präprozessor verstanden wird
Der Leser nimmt eine Zeile mit Raute, etwa ein define oder ein include, als Zeile und nicht als Code. Deshalb verwirrt ein Makro, das eine Klammer öffnet, den Tiefenzähler, und das Werkzeug sagt es.
Zwei Dateien auf einmal einfügen
Zwei Übersetzungseinheiten in einem Feld teilen einen Tiefenzähler. Weil der Zähler nie neu startet, beginnt die zweite Datei dort, wo die erste endete.
Auf die Einrückung vertrauen, während eine Zeichenkette offen bleibt
Ein nicht geschlossenes Anführungszeichen hält den Leser bis zum Dateiende in einem Literal. Daher übergeht der Leser jede Klammer danach, und die Einrückung bewegt sich gar nicht mehr.
Eine Datei neu formatieren, die gerade geprüft wird
Eine Layout-Änderung auf einem Zweig, den jemand anderes liest, macht den echten Diff schwer auffindbar. Also verständigen Sie sich auf den Zeitpunkt, oder warten Sie auf den Merge.
Annehmen, der Sprachmodus sei ein Compiler
Der Modus entscheidet nur, welcher Leser läuft. Weil dieser Leser keinen Syntaxbaum baut, meldet er keinen falschen Typ und kein fehlendes Semikolon.
Fragen zum Code-Verschönerer
Ist dieser Code-Verschönerer kostenlos?
Ja. Es gibt kein Konto, kein Limit und keine Bezahlstufe. Also formatieren Sie so viele Dateien, wie Sie möchten.
Welche Sprachen formatiert er?
Fünf: Java, C, C++, ActionScript und crontab. Die vier Klammer-Sprachen teilen einen Leser, und jede ergänzt eigene Regeln.
Ändert er, was mein Programm tut?
Nein. Nur Leerzeichen bewegen sich. Jedes Token, jede Zeichenkette und jeder Kommentar behält seine Zeichen, also lässt sich das Ergebnis gleich übersetzen.
Rückt er eine Klammer in einer Zeichenkette ein?
Nein. Der Leser geht in den Literal-Zustand und übergeht alles darin. Daher lässt eine Nachricht oder ein regulärer Ausdruck voller Klammern die Einrückung in Ruhe.
Behebt er Syntaxfehler?
Nein. Er meldet eine unausgeglichene Klammer und nennt die Zeile, was ein guter Hinweis ist. Das Korrigieren bleibt Ihre Aufgabe.
Kann ich die Einrückungsbreite wählen?
Ja. Zwei, vier oder acht Leerzeichen, oder ein Tabulator. Die Einstellung gilt für die ganze Datei und nicht für eine Auswahl.
Welche Klammerstile kann ich wählen?
Drei. Die öffnende Klammer am Zeilenende, auf einer eigenen Zeile mit gleicher Einrückung, oder auf einer eigenen Zeile eine Stufe tiefer. Allman und K&R sind die zwei, die Sie wohl kennen.
Fasst er Leerzeilen zusammen?
Ja, das kann er. Eine Folge von Leerzeilen in einer Methode wird zu einer, während die einzelne Leerzeile zwischen zwei Methoden bleibt.
Kann er eine crontab-Datei formatieren?
Ja, das ist der fünfte Modus. Er richtet die fünf Zeitfelder aus, lässt Kommentarzeilen stehen und meldet einen Wert außerhalb seines Bereichs.
Führt er meinen Code aus?
Nein. Er führt nichts aus, übersetzt nichts und wertet nichts aus. Die Datei wird als Text gelesen und als Text zurückgeschrieben.
Wird mein Code irgendwohin hochgeladen?
Nein. Lesen und Neuschreiben laufen beide in diesem Tab. Also bleibt eine Datei unter Geheimhaltung auf Ihrem Rechner.
Kann ich eine ganze Datei einfügen?
Ja. Eine Datei mit ein paar tausend Zeilen ist in einem Moment formatiert. Die Grenze ist Ihr Rechner und keine Serverquote.
Kann er eine Header-Datei verarbeiten?
Ja. Ein C- oder C++-Header nutzt dieselbe Grammatik, also wird er gleich formatiert. Nur die makrolastigen Abschnitte brauchen einen zweiten Blick, wie oben beschrieben.
Welche Zeilenenden kommen heraus?
Die, die die Eingabe hatte. Weil eine Datei mit Wagenrückläufen sie behält, macht das Einfügen des Ergebnisses nicht jede Zeile zu einer Änderung.
Kann ich das Ergebnis herunterladen?
Ja. Der Download nutzt die Endung, die der Modus vorschlägt, also kommt eine Java-Datei als Textdatei und nicht als Seite an.
Sortiert er Imports oder ordnet etwas um?
Nein. Die Zeilen behalten ihre Reihenfolge. Weil Umsortieren die Bedeutung ändern kann, bewegt das Werkzeug nur Leerzeichen.
Kann er auch minifizieren?
Nein, und das ist Absicht. Minifizieren entfernt auch Kommentare, und das ist eine andere Entscheidung. Die Minifizierer hier erledigen diese Aufgabe.
Warum ist meine Datei noch seltsam eingerückt?
Die übliche Ursache ist ein nicht geschlossenes Anführungszeichen oder eine unausgeglichene Klammer weiter oben in der Datei. Die Hinweise unter der Vorschau nennen die Zeile, an der die Tiefe nicht mehr passte.
Funktioniert er am Handy?
Ja. Die Bereiche stapeln sich und die Einstellungen umbrechen in Reihen. Also ist eine kleine Korrektur auch ohne Schreibtisch möglich, eine ganze Datei geht mit Tastatur aber leichter.
Behält er meine Kommentare?
Ja. Ein Zeilenkommentar und ein Blockkommentar überleben beide, und der Tiefenzähler übergeht beide. Daher ändert ein Kommentar nie das Layout um ihn herum.
Ist der formatierte Code meiner?
Er ist Ihrer. Nichts hier beansprucht eine Lizenz an Ihrer Datei, und es gibt keine Nennung zu vergeben.
Brauche ich ein Konto oder ein Plugin?
Nein. Es gibt keine Anmeldung, kein Plugin und keine Erweiterung. Also schließen Sie den Tab, wenn die Datei ordentlich ist.
Werkzeuge, die dazu passen
Vier Seiten, zu denen dieselbe Arbeit meist führt.
CSS-Minifizierer
Sobald ein Stylesheet ausgelegt ist, nehmen Sie die Leerzeichen wieder heraus. Weil eine ausgelieferte Datei für jeden Kommentar und Umbruch zahlt, ist das der Schritt vor dem Upload.
Tool öffnen →JavaScript-Minifizierer
Dann schrumpfen Sie ein Skript genauso. So ist die Datei, die ein Browser lädt, kleiner als die, die ein Prüfer liest.
Tool öffnen →JSON-Formatierer
Ein JSON-Dokument verdient dieselbe Behandlung wie eine Quelldatei. Weil ein verschachteltes Objekt in einer Zeile seine eigene Form versteckt, klappt diese Seite es auf.
Tool öffnen →CSS-Selektor-Tester
Wenn eine Regel im Stylesheet nichts trifft, nennt diese Seite sie. Da ein Selektor ohne Treffer stumm scheitert, lohnt diese Prüfung.
Tool öffnen →
Rücken Sie die Datei ein und machen Sie weiter
Wählen Sie die Sprache, fügen Sie die Datei ein, stellen Sie Einrückung und Klammerstil ein, und lesen Sie dann die Hinweise. Nichts wird hochgeladen, nichts wird ausgeführt, und nur Leerzeichen ändern sich. Die meisten Dateien sind sofort wieder lesbar.