Die Frage enthält keinen Hinweis darauf, wie dies mit einem bestimmten Texteditor zu tun ist. Bitte bleiben Sie bei der Beantwortung dieser Frage in Bezug auf die Regeln und Freiheiten der Yaml-Syntax.
Alexander Stohr
Antworten:
2007
YAML unterstützt Inline-Kommentare, jedoch keine Blockkommentare.
Kommentare beginnen mit dem Nummernzeichen ( #), können an einer beliebigen Stelle in einer Zeile beginnen und bis zum Ende der Zeile fortgesetzt werden
Die Syntaxunterschiede sind subtil und treten in der Praxis selten auf: JSON erlaubt erweiterte Zeichensätze wie UTF-32, YAML benötigt ein Leerzeichen nach Trennzeichen wie Komma, Gleich und Doppelpunkt, während JSON dies nicht tut, und einige nicht standardmäßige Implementierungen von JSON erweitern die Grammatik auf Fügen Sie die /* ... */Kommentare von Javascript hinzu . Die Behandlung solcher Randfälle erfordert möglicherweise eine leichte Vorverarbeitung des JSON, bevor es als Inline-YAML analysiert wird.
# If you want to write
# a block-commented Haiku
# you'll need three pound signs
Wenn Sie mit dem YEdit-Plugin in Eclipse sind, schaltet der Standard-Eclipse-Blockkommentar-Togler von Strg- / Blockkommentare in Yaml-Dateien um.
Matt Gibson
1
Einige Kombinationen funktionieren in Eclipse> 4.6 mit integrierter Unterstützung für YAML
Faraz
3
Funktioniert in JetBrains IDEs: RubyMine und Gogland
Rich Sutton
3
Funktioniert auch in VSCode.
Zain Patel
67
In Vim können Sie einen der folgenden Schritte ausführen:
Alle Zeilen kommentieren: :%s/^/#
Kommentarzeilen 10 - 15: :10,15s/^/#
Kommentar Zeile 10 zur aktuellen Zeile: :10,.s/^/#
Kommentarzeile 10 bis Ende: :10,$s/^/#
oder mit visuellem Block:
Wählen Sie nach Eingabe des visuellen Blocks über eine mehrzeilige Spalte aus Ctrl+v.
Drücken Sie ranschließend #, um den mehrzeiligen Block zu kommentieren, der die Auswahl ersetzt, oder Shift+i#Escum Kommentarzeichen vor der Auswahl einzufügen.
geringstmögliches Denken möglich;). "Vim, I did a thing. do it here, and here and here and here and here..."
Conrad.Dean
4
Sie können auch drücken :und eingeben, s/^/#um die aktuelle Auswahl zu kommentieren.
Hakunin
1
@ Conrad.Dean versuchen zu lernen, in Makros zu denken . Obwohl dies für diese Aufgabe praktisch gleich qqI#<esc>jqist @Q@Q@Q@Q@Q@Q(weil es schneller ist, die Umschalttaste nicht loszulassen), ist es eine Gewohnheit, die Sie auf viel komplexere Aufgaben ausweiten können. Fangen Sie klein an. Übe oft. Bald werden Sie beim ersten Versuch sehr komplexe Makros perfekt erstellen. Wenn Sie das Register zuerst löschen qqq, können Sie @qvor dem letzten einschließen q, um eine Rekursion zu erhalten (jedoch nur bis zum Ende der Datei).
Bruno Bronosky
@BrunoBronosky: Anstelle all dieser @qkannst du es einfach machen 6@qoder 10000@qwenn du willst.
Bodo
2
@ Bodo kannst du ja. Die meisten vim-Befehle akzeptieren :h countMultiplikatoren. Aber für mich ist visuell alles über 6 und ich muss es Hand sein, weil ich es nicht zuverlässig erraten kann. Die Ausnahme ist, dass ich weiß, dass ich mehr als 60 Zeilen auf meinem Terminal habe, also werde ich das verwenden, um für sehr große Marco-Wiedergaben zu schätzen. Als Bonus werde ich jedem vorschlagen, etwas darüber zu lernen, :h gnwas es einfach macht, .Wiederholungen bei Suchmatches durchzuführen. Siehe vimcasts.org/episodes/operating-on-search-matches-using-gn
Bruno Bronosky
29
Ein alternativer Ansatz:
Wenn
Ihre YAML-Struktur verfügt über genau definierte Felder, die von Ihrer App verwendet werden können
UND Sie können frei zusätzliche Felder hinzufügen, die Ihre App nicht durcheinander bringen
dann
Auf jeder Ebene können Sie ein neues Blocktextfeld mit dem Namen "Beschreibung" oder "Kommentar" oder "Notizen" oder was auch immer hinzufügen
Beispiel:
Anstatt
# This comment
# is too long
verwenden
Description: >
This comment
is too long
oder
Comment: >
This comment is also too long
and newlines survive from parsing!
Weitere Vorteile:
Wenn die Kommentare groß und komplex werden und ein sich wiederholendes Muster aufweisen, können Sie sie von einfachen Textblöcken zu Objekten heraufstufen
Ihre App kann diese Kommentare in Zukunft lesen oder aktualisieren
Ich denke, dies ist die Antwort des Stechpalmengrals auf die Frage. insbesondere, wenn diese Kommentare in JSON oder XML angezeigt werden sollen, wenn von YAML in diese beiden umgewandelt werden soll.
Mohd
7
Eine Möglichkeit, das Kommentieren in YAML zu blockieren, besteht darin, mit einem Texteditor wie Notepad ++ mehreren Zeilen gleichzeitig ein # (Kommentar) -Tag hinzuzufügen.
In Notepad ++ können Sie dies mit der Rechtsklickoption "Kommentar blockieren" für ausgewählten Text tun.
Und FWIW, die Tastenkombination dafür (in np ++) wäre Strg-Umschalt-Q (unter Windows. Für andere Plattformen siehe das Menü Bearbeiten> Kommentar / Kommentar).
Charlie Arehart
6
Wenn Sie Eclipse mit dem yedit-Plugin (einem Editor für .yaml-Dateien) verwenden, können Sie mehrere Zeilen auskommentieren, indem Sie:
Wählen Sie die zu kommentierenden Zeilen aus und dann
Ctrl+ Shift+C
Befolgen Sie zum Aufheben des Kommentars die gleichen Schritte.
Für Benutzer von Visual Studio Code (VSCode) besteht die Verknüpfung zum Auskommentieren mehrerer Zeilen darin, die zu kommentierenden Zeilen hervorzuheben und dann zu drücken:
ctrl + /
Durch erneutes Drücken von ctrl+ /können Sie auch Kommentare für eine oder mehrere ausgewählte Zeilen deaktivieren.
Antworten:
YAML unterstützt Inline-Kommentare, jedoch keine Blockkommentare.
Aus Wikipedia :
Ein Vergleich mit JSON, ebenfalls aus Wikipedia :
quelle
Die Spezifikation beschreibt nur eine Möglichkeit, Kommentare zu markieren:
Das ist alles. Es gibt keine Blockkommentare.
quelle
Versuchen Sie nicht, klug zu sein, aber wenn Sie Sublime Text für Ihren Editor verwenden, sind die Schritte:
Ich würde mir vorstellen, dass auch andere Editoren ähnliche Funktionen haben. Welches benutzt du? Ich würde gerne etwas graben.
quelle
In Vim können Sie einen der folgenden Schritte ausführen:
:%s/^/#
:10,15s/^/#
:10,.s/^/#
:10,$s/^/#
oder mit visuellem Block:
quelle
"Vim, I did a thing. do it here, and here and here and here and here..."
:
und eingeben,s/^/#
um die aktuelle Auswahl zu kommentieren.qqI#<esc>jq
ist@Q@Q@Q@Q@Q@Q
(weil es schneller ist, die Umschalttaste nicht loszulassen), ist es eine Gewohnheit, die Sie auf viel komplexere Aufgaben ausweiten können. Fangen Sie klein an. Übe oft. Bald werden Sie beim ersten Versuch sehr komplexe Makros perfekt erstellen. Wenn Sie das Register zuerst löschenqqq
, können Sie@q
vor dem letzten einschließenq
, um eine Rekursion zu erhalten (jedoch nur bis zum Ende der Datei).@q
kannst du es einfach machen6@q
oder10000@q
wenn du willst.:h count
Multiplikatoren. Aber für mich ist visuell alles über 6 und ich muss es Hand sein, weil ich es nicht zuverlässig erraten kann. Die Ausnahme ist, dass ich weiß, dass ich mehr als 60 Zeilen auf meinem Terminal habe, also werde ich das verwenden, um für sehr große Marco-Wiedergaben zu schätzen. Als Bonus werde ich jedem vorschlagen, etwas darüber zu lernen,:h gn
was es einfach macht,.
Wiederholungen bei Suchmatches durchzuführen. Siehe vimcasts.org/episodes/operating-on-search-matches-using-gnEin alternativer Ansatz:
Wenn
dann
Beispiel:
Anstatt
verwenden
oder
Weitere Vorteile:
quelle
Eine Möglichkeit, das Kommentieren in YAML zu blockieren, besteht darin, mit einem Texteditor wie Notepad ++ mehreren Zeilen gleichzeitig ein # (Kommentar) -Tag hinzuzufügen.
In Notepad ++ können Sie dies mit der Rechtsklickoption "Kommentar blockieren" für ausgewählten Text tun.
quelle
Wenn Sie Eclipse mit dem yedit-Plugin (einem Editor für .yaml-Dateien) verwenden, können Sie mehrere Zeilen auskommentieren, indem Sie:
Befolgen Sie zum Aufheben des Kommentars die gleichen Schritte.
quelle
Für Ruby Mine-Benutzer unter Windows:
Datei im Editor öffnen Wählen Sie den Block aus und drücken Sie Ctrl+ forward slash. Sie haben den Block beginnend mit # ausgewählt.
Wenn Sie nun den kommentierten Block auskommentieren möchten, drücken Sie dieselbe Tastenkombination Ctrl+ forward slasherneut
quelle
Emacs hat comment-dwim (Mach was ich meine) - wähle einfach den Block aus und mache ein:
Es ist ein Umschalter - verwenden Sie ihn, um Blöcke zu kommentieren UND zu kommentieren.
Wenn Sie den Yaml-Modus nicht installiert haben, müssen Sie Emacs anweisen, das Hash-Zeichen (#) zu verwenden.
quelle
Für Benutzer von Visual Studio Code (VSCode) besteht die Verknüpfung zum Auskommentieren mehrerer Zeilen darin, die zu kommentierenden Zeilen hervorzuheben und dann zu drücken:
ctrl + /
Durch erneutes Drücken von ctrl+ /können Sie auch Kommentare für eine oder mehrere ausgewählte Zeilen deaktivieren.
quelle
Im Azure Devops-Browser (Pipeline-Yaml-Editor)
Ctrl+ K+ CKommentarblock
Ctrl+ K+ UKommentarblock
Es gibt auch die Option "Blockkommentar umschalten", aber das hat bei mir nicht funktioniert.
Es gibt auch andere "seltsame" Möglichkeiten: Klicken Sie mit der rechten Maustaste, um "Befehlspalette" oder "Befehlspalette" anzuzeigen F1
Wählen Sie dann eine Cursoroption.
Jetzt ist es nur noch eine Frage von #
oder noch schlauer [ Ctrl+ k] + [ Ctrl+ c]
quelle