Как вы блокируете комментарии в YAML?

Как мне закомментировать блок строк в YAML?

Ответ 1

YAML поддерживает встроенные комментарии, но не поддерживает комментарии блоков.

От Wikipedia:

Комментарии начинаются с знака числа (#), могут начинаться в любом месте строки и продолжаться до конца строки

Сравнение с JSON, также из Wikipedia:

Различия в синтаксисе тонкие и редко возникают на практике: JSON допускает расширенные символы, такие как UTF-32, YAML требует пробела после разделителей, таких как запятая, equals и двоеточие, в то время как JSON не работает, а некоторые нестандартные реализации JSON расширяются грамматику включить комментарии Javascript /* ... */. Для обработки таких краевых случаев может потребоваться световая предварительная обработка JSON перед синтаксическим анализом как встроенный YAML.

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

Ответ 2

spec описывает только один способ маркировки комментариев:

Явный комментарий помечен индикатором "#".

Это все. Комментариев нет.

Ответ 3

Не пытаясь быть умным об этом, но если вы используете Sublime Text для своего редактора, выполните следующие шаги:

  1. Выберите блок
  2. cmd + / на Mac или ctrl + / в Linux и Windows
  3. прибыль

Я полагаю, что другие редакторы также имеют подобную функциональность. Какой вы используете? Я был бы рад покопаться.

Ответ 4

В Vim вы можете выполнить одно из следующих действий:

  • Комментировать все строки: :%s/^/#
  • Строки комментариев 10 - 15: :10,15s/^/#
  • Строка комментариев 10 в текущей строке: :10,.s/^/#
  • Строка комментариев 10 до конца: :10,$s/^/#

или используя визуальный блок:

  • Выберите столбец с несколькими строками после ввода визуального блока через Ctrl+v.
  • Нажмите r, а затем #, чтобы закомментировать фрагмент блока, заменяющий выделение, или Shift+i # Esc, чтобы вставить символы комментария перед выбором.

Ответ 5

Альтернативный подход:

Если

  • ваша структура YAML имеет четко определенные поля, которые будут использоваться вашим приложением
  • И вы можете свободно добавлять дополнительные поля, которые не будут портить ваше приложение

затем

  • на любом уровне вы можете добавить новое блочное текстовое поле с именем "Описание" или "Комментарий" или "Заметки" или что-то еще

Пример:

Вместо

# This comment
# is too long

использование

Description: >
  This comment
  is too long

или же

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

Больше преимуществ:

  1. Если комментарии становятся большими и сложными и имеют повторяющийся узор, вы можете продвигать их из простых текстовых блоков в объекты
  2. Ваше приложение может -in future- прочитать или обновить эти комментарии

Ответ 6

Если вы используете Eclipse с плагином yedit (редактор для файлов .yaml), вы можете закомментировать несколько строк:

  1. выбирая строки для комментариев, а затем
  2. Ctrl + Shift + C

И чтобы оставить комментарий, выполните те же шаги.

Ответ 7

В Emacs есть комментарий-dwim (Do What я Mean) - просто выберите блок и сделайте a:

М -;

Это toggle - использовать его для комментирования и раскола блоков.

Если у вас нет установленного yaml-режима, вам нужно будет указать Emacs использовать хэш-символ (#).

Ответ 8

Для пользователей Ruby Mine в Windows:

Открыть файл в редакторе Выберите блок и нажмите Ctrl + forward slash, у вас будет выбран блок, начинающийся С#.

Теперь, если вы хотите отменить комментарий блока комментариев, снова нажмите ту же комбинацию клавиш Ctrl + forward slash

Ответ 9

Единственный способ заблокировать комментарий в YAML - это использовать другое приложение, чтобы добавить тег # (comment) к нескольким строкам сразу. Примером этого является параметр "Блочный комментарий" для выбранного текста в Notepad ++.

Woo Images!

Ответ 10

Для пользователей кода Visual Studio (VSCode) ярлык, чтобы закомментировать несколько строк, должен выделить строки, которые вы хотите закомментировать, а затем нажать:

ctrl + /

Повторное нажатие ctrl + / также можно использовать для отключения комментариев для одной или нескольких выбранных строк.