YAML-Kommentare: YAML kommentieren und auskommentieren
YAML-Kommentare
YAML-Kommentare: Syntax, Inline-Regeln und Block-Workarounds | We.Inc
So kommentierst du in YAML: die #-Syntax, die Leerzeichen-Regel für Inline-Kommentare, warum es keinen Blockkommentar gibt, und ein Tool, das viele Zeilen auf einmal auskommentiert oder wiederherstellt.
Ein YAML-Kommentar beginnt mit einer Raute (#) und reicht bis zum Zeilenende. Er kann in einer eigenen Zeile oder hinter einem Wert stehen, solange Leerraum ihn vom Wert trennt. YAML hat keine Syntax für Blockkommentare, daher bedeutet das Auskommentieren mehrerer Zeilen, an den Anfang jeder Zeile ein # zu setzen.
Wo # in YAML einen Kommentar beginnt und wo nicht
Zeile
Ist das # ein Kommentar?
Warum
Ja
Steht am Zeilenanfang
port: 5432 # default
Ja
Leerraum vor dem #
url: https://x.example/#top
Nein
Kein Leerraum vor dem #, daher gehört es zum Wert
color: "#4F98FB"
Nein
Innerhalb eines Strings in Anführungszeichen
tag: #blue
Ja
Der Wert ist leer (null), und der Rest ist ein Kommentar
Kommentare sind der Hauptgrund, warum Teams für Konfiguration YAML statt JSON wählen, doch über die Regeln stolpert man leicht. Füge unten eine Datei in das Tool ein, um einen Zeilenbereich auszukommentieren oder wiederherzustellen, und sieh dann in der Referenz nach, in welchen Fällen ein # still und leise Teil deiner Daten wird.
Füge dein YAML in das Feld ein oder bearbeite das Beispiel.
Gib die erste und die letzte Zeilennummer ein, die du ändern willst.
Klicke auf Auskommentieren, um nach der Einrückung jeder Zeile ein # einzufügen, oder auf Kommentar entfernen, um es zu löschen.
Kopiere das Ergebnis zurück in deine Datei. Leere Zeilen im Bereich bleiben unverändert.
Richte das # am Code aus, den es deaktiviert. Auskommentierte Zeilen auf derselben Einrückung lassen sich später viel leichter wiederherstellen.
Setze in eigenen Notizen ein Leerzeichen hinter das #. Es ist nicht Pflicht, aber so lassen sich auskommentierter Code und Anmerkungen leicht unterscheiden.
Setze jeden Wert mit einem #, das erhalten bleiben soll, in Anführungszeichen, etwa Hex-Farben, damit eine spätere Änderung ihn nicht in einen Kommentar verwandeln kann.
Denk daran, dass die meisten Bibliotheken Kommentare verwerfen, wenn eine Datei geladen und wieder gespeichert wird. Speichere nichts Wichtiges nur in einem Kommentar, den Tools neu schreiben.
Häufige Fragen
Hat YAML mehrzeilige oder Blockkommentare?
Nein. Die Spezifikation definiert nur Zeilenkommentare, die mit # beginnen. Um einen Block zu deaktivieren, setze vor jede Zeile ein #. Die meisten Editoren erledigen das für eine Auswahl mit einem einzigen Tastenkürzel, und das Tool auf dieser Seite tut es für jeden beliebigen Zeilenbereich.
Warum ist mein Kommentar Teil des Werts geworden?
Ein # beginnt nur dann einen Kommentar, wenn Leerraum davor steht. In url: https://site.example/#faq folgt das # auf einen Schrägstrich, daher bleibt es im String. Setze ein Leerzeichen vor das #, wenn du einen Kommentar gemeint hast.
Bleiben Kommentare erhalten, wenn YAML in JSON umgewandelt wird?
Nein. Kommentare sind ein Darstellungsdetail, keine Daten, und JSON hat keinen Platz dafür. RFC 9512 merkt an, dass Kommentare verworfen werden, wenn YAML als JSON serialisiert wird.
Kann ich innerhalb eines Block-Skalars kommentieren?
Nein. Innerhalb eines | oder > Blocks ist eine Zeile, die mit # beginnt, gewöhnlicher Text und wird Teil des Strings. Kommentare funktionieren nur außerhalb der Inhaltszeilen des Blocks.
Was ist das Tastenkürzel zum Kommentieren von YAML in einem Editor?
Das gehört zum Editor, nicht zu YAML. In Visual Studio Code ist der Befehl Toggle Line Comment Ctrl+/ unter Windows und Linux und Cmd+/ unter macOS; andere Editoren legen eigene Tasten fest.
Inline-Kommentare und die Leerzeichen-Regel
Die YAML-Spezifikation sagt, dass Kommentare durch Leerraum von anderen Tokens getrennt sein müssen. Diese eine Regel erklärt fast jede Überraschung: Ein #, das am Text davor klebt, ist Daten, und ein # nach einem Leerzeichen ist der Beginn einer Notiz.
Ein Tab zählt hier ebenfalls als Leerraum, aber da Tabs für die Einrückung nicht erlaubt sind, ist es einfacher, überall Leerzeichen zu verwenden.
Eine Konfigurationsdatei gut dokumentieren
Schreib Kommentare, die sagen, warum ein Wert gesetzt ist, nicht was der Schlüsselname schon sagt. Eine Zeile wie # 5 Wiederholungen, weil die Zahlungs-API unter Last in Timeouts läuft, erspart der nächsten Person die Suche in der Historie.
Setze oben einen kurzen Kopfkommentar, der sagt, welches Programm die Datei liest und wo seine vollständigen Optionen dokumentiert sind.
Kommentarmuster, die du brauchen wirst
Ganzzeilige und Inline-Kommentare
Ein ganzzeiliger Kommentar erklärt einen Abschnitt; ein Inline-Kommentar braucht mindestens ein Leerzeichen vor dem #.
Einen Block vorübergehend deaktivieren
Jede Zeile des deaktivierten Service trägt ihr eigenes #, auf der ursprünglichen Einrückung, damit sie sich sauber wiederherstellen lässt.
YAML-Zeilen auskommentieren
Füge YAML ein, wähle einen Zeilenbereich und schalte diese Zeilen zwischen aktiv und auskommentiert um. Die Einrückung bleibt erhalten, sodass die Struktur gut lesbar bleibt.