Zum Inhalt springen

TOML formatieren und validieren

TOML Formatter & Validator

Formatiert und validiert TOML und normalisiert die Tabellenreihenfolge sowie den Stil von Inline-Tabellen.

Normalisiert die Abstände in einer TOML-Datei – `key = value`, Whitespace in Überschriften, Array-Umbruch – und prüft sie dabei gegen die TOML-1.0-Spezifikation. Zwei Leser laufen über die Datei: einer, der die Schreibregeln kennt und die Kommentare behält, und einer, der die semantischen kennt und die JSON-Ansicht erzeugt.

🔒 Läuft vollständig in Ihrem Browsertomlformatvalidateconfig
Ausgabe
Inline-Tabellen
Umbruchbreite für Arrays

TOML-Eingabe

.toml-Datei hier ablegen

Wird nur in diesem Tab gelesen. Nichts wird hochgeladen.

Formatiertes TOML

Formatiert.

Tabellen

5

Schlüssel/Wert-Paare

13

Kommentare

1

Prüfung

bestanden

Was es ändert und was es stehen lässt

  • · Vereinheitlicht werden die Abstände um key = value, der Leerraum in einer Überschrift wie [ a . b ] und die Lücken in Arrays und Inline-Tabellen, mit einer Leerzeile vor jeder Überschrift.
  • · Ein kurzes Array steht in einer Zeile; ein Array über der Umbruchbreite oder eines mit einem Kommentar darin bekommt ein Element pro Zeile und ein abschließendes Komma.
  • · Zeichenketten, Zahlen und Datumsangaben bleiben genau so, wie sie geschrieben wurden. 1_000 zu 1000 zu machen, oder 0xff zu 255, ist eine Änderung und keine Formatierung.
  • · Ein Schlüssel, der seine Anführungszeichen nicht braucht ("name"), verliert sie; einer, der sie braucht ("127.0.0.1"), wird mit wörtlichen Anführungszeichen geschrieben.
  • · Eine führende Null, ein falsch gesetzter Unterstrich, True, eine über mehrere Zeilen verteilte Inline-Tabelle, ein doppelter Schlüssel und eine zweimal definierte Tabelle werden allesamt abgelehnt, gemäß der TOML-1.0-Spezifikation auf toml.io.

Zum Umwandeln nach JSON oder YAML nehmen Sie JSON ⇄ TOML umwandeln.

So funktioniert es

  1. Fügen Sie die Datei ein

    Eine `Cargo.toml`, eine `pyproject.toml`, eine `netlify.toml`. Uneinheitliche Abstände sind der Punkt – genau das wird behoben.

  2. Legen Sie die Umbruchbreite für Arrays fest

    Ein kurzes Array bleibt auf einer Zeile; alles jenseits der Breite oder mit einem Kommentar darin bekommt ein Element pro Zeile mit nachgestelltem Komma. Dieses nachgestellte Komma ist es, was künftige Diffs auf eine Zeile beschränkt.

  3. Sortieren Sie, wenn es hilft, und nur dann

    Die Schlüsselsortierung bewegt nur die Schlüssel/Wert-Zeilen und lässt Kommentare und Leerzeilen an Ort und Stelle. Die Tabellensortierung ordnet Überschriften auf einer Ebene und nimmt ihre Untertabellen mit. Die Reihenfolge von Tabellen-Arrays ist Daten, sie wird deshalb nie angerührt.

Häufige Fragen

Warum wird `1_000` nicht zu `1000` umgeschrieben?

Weil das eine Bearbeitung wäre, kein Formatieren. Unterstriche in Zahlen, hexadezimale Literale und die genaue Schreibweise eines Datums sind alles Dinge, die der Autor gewählt hat. Der Formatierer ändert Whitespace und Quoting und lässt die Werte so, wie sie geschrieben stehen.

Es hat meine Datei abgelehnt, aber ein anderer Parser hat sie akzeptiert.

Wahrscheinlich eines der Dinge, die TOML 1.0 verbietet und nachsichtige Leser erlauben: eine führende Null, ein falsch platzierter Unterstrich, `True` mit großem T, eine über mehrere Zeilen verteilte Inline-Tabelle, ein doppelter Schlüssel oder eine zweimal definierte Tabelle. Der Fehler nennt, welches, mit einer Zeilennummer.

Was geschieht mit einem Datum, wenn ich auf JSON umschalte?

Es wird zu einem String, und eine Warnung sagt das. TOML hat Offset-Datums-/Zeitwerte, lokale Datumsangaben und lokale Uhrzeiten als echte Typen; JSON hat nichts davon, also wird der Text hinübergetragen, und sein Typ geht verloren.

Bleiben Kommentare erhalten?

Ja, einschließlich ihrer Position relativ zu dem Schlüssel, zu dem sie gehören – das ist der Grund, warum der Formatierer einen eigenen Scanner hat, statt den Leser des Konverters wiederzuverwenden. Die Anzahl der Kommentare steht in der Statistik.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.