Как мне закомментировать блок строк в YAML?
Как мне закомментировать блок строк в YAML?
Ответы:
YAML поддерживает встроенные комментарии, но не поддерживает блочные комментарии.
Из Википедии :
Комментарии начинаются со знака числа (
#
), могут начинаться в любом месте строки и продолжаться до конца строки
Сравнение с JSON, также из Википедии :
Различия в синтаксисе незначительны и редко возникают на практике: JSON допускает расширенные наборы символов, такие как UTF-32, YAML требует пробел после разделителей, таких как запятая, равно и двоеточие, а JSON нет, а некоторые нестандартные реализации JSON расширяют грамматику до включить
/* ... */
комментарии Javascript . Обработка таких крайних случаев может потребовать легкой предварительной обработки JSON перед синтаксическим анализом как встроенного YAML.
# If you want to write
# a block-commented Haiku
# you'll need three pound signs
Спецификация описывает только один способ маркировки комментариев:
Явный комментарий отмечен знаком «#».
Это все. Там нет блочных комментариев.
Не пытаясь быть умным об этом, но если вы используете Sublime Text для своего редактора, выполните следующие шаги:
Я полагаю, что другие редакторы также имеют подобную функциональность. Какой вы используете? Я был бы рад покопаться.
В Vim вы можете выполнить одно из следующих действий:
:%s/^/#
:10,15s/^/#
:10,.s/^/#
:10,$s/^/#
или используя визуальный блок:
"Vim, I did a thing. do it here, and here and here and here and here..."
:
и напечатать, s/^/#
чтобы прокомментировать текущий выбор.
qqI#<esc>jq
то @Q@Q@Q@Q@Q@Q
(потому что это быстрее , чтобы не отпускать клавишу смены), привычка вы можете расширить до более сложных задач. Начните с малого. Практикуйтесь часто. Вскоре вы отлично создадите очень сложные макросы с первой попытки. Если вы сначала очистите регистр qqq
, вы можете включить его @q
до последнего, q
чтобы получить рекурсию (но только до конца файла).
@q
, вы можете просто сделать 6@q
или, 10000@q
если хотите.
:h count
множители. Но для меня, визуально все, что старше 6, и я должен сделать это вручную, потому что я не могу надежно угадать это. Исключением является то, что я знаю, что у меня более 60 строк на моем терминале, поэтому я буду использовать это для оценки очень больших воспроизведений marco. В качестве бонуса я собираюсь предложить всем узнать о :h gn
том, как можно легко делать .
повторы при поиске совпадений. См. Vimcasts.org/episodes/operating-on-search-matches-using-gn
Альтернативный подход:
Если
тогда
Пример:
Вместо
# This comment
# is too long
использование
Description: >
This comment
is too long
или
Comment: >
This comment is also too long
and newlines survive from parsing!
Больше преимуществ:
Один из способов заблокировать комментирование в YAML - использовать текстовый редактор, такой как Notepad ++, чтобы добавить тег # (comment) к нескольким строкам одновременно.
В Notepad ++ вы можете сделать это, используя опцию щелчка правой кнопкой мыши «Block Comment» для выделенного текста.
Если вы используете Eclipse с плагином yedit (редактор для файлов .yaml), вы можете закомментировать несколько строк:
И чтобы оставить комментарий, выполните те же шаги.
Для пользователей Ruby Mine в Windows:
Откройте файл в редакторе. Выберите блок и нажмите Ctrl+ forward slash, у вас будет выбран блок, начинающийся с #.
Теперь, если вы хотите откомментировать комментируемый блок, снова нажмите ту же комбинацию клавиш Ctrl+forward slash
В Emacs есть comment-dwim (Do What I Mean) - просто выберите блок и выполните:
M-;
Это переключатель - используйте его для комментирования и раскомментирования блоков.
Если у вас не установлен yaml-режим, вам нужно указать Emacs использовать хеш-символ (#).
Для пользователей кода Visual Studio (VSCode) ярлык, чтобы закомментировать несколько строк, должен выделить строки, которые вы хотите закомментировать, а затем нажать:
ctrl + /
Повторное нажатие ctrl+ /также можно использовать для отключения комментариев для одной или нескольких выбранных строк.
В браузере Azure Devops (конвейерный редактор yaml),
Ctrl+ K+ CБлок комментариев
Ctrl+ K+ UУдалить комментарий
Также есть опция «Toggle Block Comment», но у меня это не сработало.
Есть и другие «странные» способы: щелкните правой кнопкой мыши, чтобы увидеть «Командная палитра» или F1
Теперь это просто вопрос #
или даже умнее [ Ctrl+ k] + [ Ctrl+ c]