Как вы блокируете комментарии в YAML?
Как мне закомментировать блок строк в YAML?
12 ответов
YAML поддерживает встроенные комментарии, но не поддерживает блочные комментарии.
Из Википедии:
Комментарии начинаются со знака числа (
#
), может начинаться в любом месте строки и продолжаться до конца строки
Сравнение с JSON, также из Википедии:
Различия в синтаксисе незначительны и редко возникают на практике: JSON допускает расширенные наборы символов, такие как UTF-32, YAML требует пробел после разделителей, таких как запятая, равно и двоеточие, в то время как JSON этого не делает, а некоторые нестандартные реализации JSON расширяют грамматику до включить Javascript's
/* ... */
Комментарии. Обработка таких крайних случаев может потребовать легкой предварительной обработки JSON перед синтаксическим анализом в виде встроенного YAML.
# If you want to write
# a block-commented Haiku
# you'll need three pound signs
Спецификация описывает только один способ маркировки комментариев:
Явный комментарий помечается знаком "#".
Это все. Там нет блочных комментариев.
Не пытаясь быть умным об этом, но если вы используете Sublime Text для своего редактора, выполните следующие шаги:
- Выберите блок
CMD + /
на Mac илиCTRL + /
в Linux и Windows- прибыль
Я полагаю, что другие редакторы также имеют подобную функциональность. Какой вы используете? Я был бы рад покопаться.
В Vim вы можете выполнить одно из следующих действий:
- Комментарий всех строк:
:%s/^/#
- Строки комментариев 10 - 15:
:10,15s/^/#
- Строка комментария 10 к текущей строке:
:10,.s/^/#
- Строка комментария 10 до конца:
:10,$s/^/#
или используя визуальный блок:
- Выберите многострочный столбец после ввода визуального блока с помощью Ctrl + v.
- Нажмите r, затем #, чтобы закомментировать многострочный блок, заменяющий выделение, или Shift + i#Esc, чтобы вставить символы комментария перед выделением.
Альтернативный подход:
Если
- ваша структура YAML имеет четко определенные поля, которые будут использоваться вашим приложением
- И вы можете свободно добавлять дополнительные поля, которые не будут портить ваше приложение
затем
- на любом уровне вы можете добавить новое блочное текстовое поле с именем вроде "Описание", "Комментарий", "Заметки" или что-то еще.
Пример:
Вместо
# This comment
# is too long
использование
Description: >
This comment
is too long
или же
Comment: >
This comment is also too long
and newlines survive from parsing!
Больше преимуществ:
- Если комментарии становятся большими и сложными и имеют повторяющийся узор, вы можете продвигать их из блоков простого текста в объекты
- Ваше приложение может - в будущем - прочитать или обновить эти комментарии
Единственный способ заблокировать комментарий в YAML - использовать другое приложение для добавления тега # (comment) к нескольким строкам одновременно. Примером этого является опция "Block Comment", щелкающая правой кнопкой мыши для выделенного текста в Notepad++.
Для пользователей кода Visual Studio (VSCode) ярлык, чтобы закомментировать несколько строк, должен выделить строки, которые вы хотите закомментировать, а затем нажать:
Ctrl + /
Повторное нажатие ctrl + / может также использоваться для отключения комментариев для одной или нескольких выбранных строк.
В Emacs есть comment-dwim (Do What I Mean) - просто выберите блок и выполните:
M-;
Это переключатель - используйте его для комментирования и раскомментирования блоков.
Если у вас не установлен yaml-режим, вам нужно указать Emacs использовать хеш-символ (#).
Если вы используете Eclipse с плагином yedit (редактор для файлов.yaml), вы можете закомментировать несколько строк:
- выбирая строки для комментариев, а затем
- Ctrl + Shift + C
И чтобы оставить комментарий, выполните те же шаги.
Для пользователей Ruby Mine в Windows:
Откройте файл в редакторе. Выберите блок и нажмитеCtrl+косая черта, вы выберете блок, начинающийся с #.
Теперь, если вы хотите откомментировать комментируемый блок, снова нажмите ту же комбинацию клавиш Ctrl+косая черта
В браузере Azure Devops (редактор yaml конвейера)
Ctrl+ K+ C Блок комментариев
Ctrl+ K+ U Раскомментировать блок
Также есть опция "Переключить блокировку комментария", но у меня она не сработала.
Есть и другие "странные" способы: щелкните правой кнопкой мыши, чтобы увидеть "Палитру команд" или F1
Затем выберите вариант курсора.
Теперь это просто вопрос #
или даже умнее [ Ctrl+ k] + [ Ctrl+ c]
В файле .gitlab-ci.yml работает следующее:
Чтобы закомментировать блок (многострочный): выберите всю секцию блока > Ctrl KC
Чтобы раскомментировать уже закомментированный блок (многострочный): Выделите всю секцию блока > Ctrl KU