How do you do block comments in YAML?

CommentsYaml

Comments Problem Overview


How do I comment a block of lines in YAML?

Comments Solutions


Solution 1 - Comments

YAML supports inline comments, but does not support block comments.

From Wikipedia:

> Comments begin with the number sign ( # ), can start anywhere on a line, and continue until the end of the line

A comparison with JSON, also from Wikipedia:

> The syntax differences are subtle and seldom arise in practice: JSON allows extended charactersets like UTF-32, YAML requires a space after separators like comma, equals, and colon while JSON does not, and some non-standard implementations of JSON extend the grammar to include Javascript's /* ... */ comments. Handling such edge cases may require light pre-processing of the JSON before parsing as in-line YAML.

# If you want to write
# a block-commented Haiku
# you'll need three pound signs

Solution 2 - Comments

The spec only describes one way of marking comments:

> An explicit comment is marked by a “#” indicator.

That's all. There are no block comments.

Solution 3 - Comments

Not trying to be smart about it, but if you use Sublime Text for your editor, the steps are:

  1. Select the block
  2. cmd+/ on Mac or ctrl+/ on Linux & Windows
  3. Profit

I'd imagine that other editors have similar functionality too. Which one are you using? I'd be happy to do some digging.

Solution 4 - Comments

In Vim you can do one of the following:

  • Comment all lines: :%s/^/#
  • Comment lines 10 - 15: :10,15s/^/#
  • Comment line 10 to current line: :10,.s/^/#
  • Comment line 10 to end: :10,$s/^/#

or using visual block:

  1. Select a multiple-line column after entering visual block via Ctrl+v.
  2. Press r followed by # to comment out the multiple-line block replacing the selection, or Shift+i#Esc to insert comment characters before the selection.

Solution 5 - Comments

An alternative approach:

If

  • your YAML structure has well defined fields to be used by your app
  • AND you may freely add additional fields that won't mess up with your app

then

  • at any level you may add a new block text field named like "Description" or "Comment" or "Notes" or whatever

Example:

Instead of

# This comment
# is too long

use

Description: >
  This comment
  is too long

or

Comment: >
    This comment is also too long
    and newlines survive from parsing!

More advantages:

  1. If the comments become large and complex and have a repeating pattern, you may promote them from plain text blocks to objects
  2. Your app may -in the future- read or update those comments

Solution 6 - Comments

One way to block commenting in YAML is by using a text editor like Notepad++ to add a # (comment) tag to multiple lines at once.

In Notepad++ you can do that using the "Block Comment" right-click option for selected text.

Woo Images!

Solution 7 - Comments

For Visual Studio Code (VSCode) users, the shortcut to comment out multiple lines is to highlight the lines you want to comment and then press:

ctrl + /

Pressing ctrl + / again can also be used to toggle comments off for one or more selected lines.

Solution 8 - Comments

Emacs has comment-dwim (Do What I Mean) - just select the block and do a: > M-;

It's a toggle - use it to comment AND uncomment blocks.

If you don't have yaml-mode installed you will need to tell Emacs to use the hash character (#).

Solution 9 - Comments

If you are using Eclipse with the yedit plugin (an editor for .yaml files), you can comment-out multiple lines by:

  1. selecting lines to be commented, and then
  2. Ctrl + Shift + C

And to un-comment, follow the same steps.

Solution 10 - Comments

For Ruby Mine users on Windows:

Open file in editor Select the block and press Ctrl+forward slash, you will have selected block starting with #.

Now if you want to un-comment the commented block, press same key combination Ctrl+forward slash again

Solution 11 - Comments

In Azure Devops browser(pipeline yaml editor),

Ctrl + K + C Comment Block

Ctrl + K + U Uncomment Block

There also a 'Toggle Block Comment' option but this did not work for me. enter image description here

There are other 'wierd' ways too: right click to see 'Command Palette' or F1

enter image description here

Then choose a cursor option. enter image description here

Now it is just a matter of #

or even smarter [Ctrl + k] + [Ctrl + c]

Solution 12 - Comments

In .gitlab-ci.yml file following works::

> To comment out a block (multiline): Select the whole block section > > Ctrl K C > > > To uncomment already commented out block (multiline): Select the > whole block section > Ctrl K U

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionThierry LamView Question on Stackoverflow
Solution 1 - CommentsDolphView Answer on Stackoverflow
Solution 2 - CommentsEugene YarmashView Answer on Stackoverflow
Solution 3 - CommentsKyle CarlsonView Answer on Stackoverflow
Solution 4 - CommentsknownasilyaView Answer on Stackoverflow
Solution 5 - CommentsDimitrios TsalkakisView Answer on Stackoverflow
Solution 6 - CommentsNathan MeyerView Answer on Stackoverflow
Solution 7 - CommentsMark WraggView Answer on Stackoverflow
Solution 8 - CommentsLester CheungView Answer on Stackoverflow
Solution 9 - CommentsVenkatesh DongergaonkarView Answer on Stackoverflow
Solution 10 - CommentspaulView Answer on Stackoverflow
Solution 11 - CommentsBlue CloudsView Answer on Stackoverflow
Solution 12 - CommentsvinsinrawView Answer on Stackoverflow