Cookies Diese Website speichert nur, was sie zum Funktionieren braucht. Derzeit gibt es hier weder Analyse noch Werbung, und nichts davon verfolgt Sie auf andere Websites. Datenschutzerklärung lesen

Auswahl anpassen
+92 312 8299940Kostenloses Angebot
Kostenloses Werkzeug, nichts zu installieren

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.

Ihr Browser erledigt hier die ganze Arbeit, in diesem Tab. Wir laden nichts hoch, speichern nichts und protokollieren nichts.
Die kurze Fassung

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.

Diagramm mit fünf Java-Zeilen links, jede mit einem Pfeil zum Zustand des Lesers und zur Einrückungstiefe nach dieser Zeile, wobei die erste Zeile eine Methode öffnet, also geht die Tiefe auf eins, die nächsten drei Zeilen stecken dieselbe Klammer in eine Zeichenkette, ein Zeichen-Literal und einen Kommentar, also ändert sich der Zustand jedes Mal, aber die Tiefe bleibt bei eins, und die letzte Zeile schließt die Methode, also fällt die Tiefe auf null zurück
Vier Zustände, ein Zähler, und eine Klammer, die nur zählt, wenn der Leser im Code ist.

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.

Bildschirmfoto des Code-Verschönerers mit geladenem Java-Beispiel, links der flache Quelltext einer Klasse namens Invoice mit einer Zeichenkette, die eine Klammer im Text trägt, einer for-Schleife und einem Kommentar, der ebenfalls eine Klammer enthält, rechts derselbe Code neu eingerückt mit zwei Leerzeichen pro Stufe, und das Feld darunter nennt die gelesene Sprache Java, dreizehn Zeilen hinein, dreizehn Zeilen heraus, einen gefundenen Kommentar und einen Einrückschritt von zwei Leerzeichen
Das Java-Beispiel, vorher und nachher, mit der Zählung dessen, was der Leser gefunden hat, darunter.

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.

Screenshot des Code-Verschönerers mit einer absichtlich kaputten Java-Datei, im linken Bereich eine Klasse, deren neunte Zeile einen Block schließt, den niemand geöffnet hat, und deren dritte Zeile ein Zeichenketten-Literal offen lässt, im rechten Bereich dieselbe Datei mit zwei Leerzeichen je Ebene neu eingerückt, wobei die Tiefe nach dem Anführungszeichen stehen bleibt, das Feld darunter liest neun Zeilen hinein, neun Zeilen heraus und keine Kommentare gefunden, und ein Feld unter dem Ergebnis listet zwei Hinweise, die die betroffenen Zeilennummern nennen
Eine kaputte Datei, und die Hinweise, die die Zeile jedes Fehlers nennen.

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.

Bildschirmfoto des Code-Verschönerers mit Klammerstil auf öffnende Klammer auf eigener Zeile und Einrückung auf vier Leerzeichen, links der flache Java-Beispieltext und rechts dieselbe Klasse, bei der jede öffnende Klammer auf eine eigene Zeile wandert, das Feld darunter mit dreizehn Zeilen hinein, siebzehn Zeilen heraus, einem gefundenen Kommentar und einem Einrückschritt von vier Leerzeichen, und ein Hinweis unter dem Ergebnis, dass vier einzelne Klammern auf ihre eigene Zeile wanderten und keine andere Zeile berührt wurde
Den Klammerstil wählen, und der Hinweis, der genau sagt, welche Zeilen sich bewegt haben.

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.

Bildschirmfoto des Code-Verschönerers im crontab-Modus mit einer Wartungsdatei aus neun Zeilen, einer Kommentarzeile, zwei Zuweisungen für Shell und Mail, einer Leerzeile und fünf Zeitplan-Zeilen, die fünf Feldspalten jedes Zeitplans gleichmäßig verteilt und der Befehl in Ruhe gelassen, eine Zeile beginnt mit einem At-Zeichen für einen Neustart-Job, und ein Hinweis unter dem Ergebnis, dass eine Zeile mit einem At-Zeichen beginnt, also ein Zeitplan als ein Wort, daher sitzt sie außerhalb der fünf Spalten und wurde in Ruhe gelassen
Der crontab-Modus rückt die fünf Spalten auseinander und lässt den Befehl, und jede At-Zeichen-Zeile, unberührt.

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.

Schritt für Schritt

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 diese Seite

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.

Faustregeln

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.
Vorsicht hier

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

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.

Weiter geht es

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.