в вопросе не указано, как это сделать с определенным текстовым редактором, поэтому, пожалуйста, продолжайте отвечать на него с точки зрения правил и свобод синтаксиса yaml.
Александр Стор
Ответы:
2009
YAML поддерживает встроенные комментарии, но не поддерживает блочные комментарии.
Различия в синтаксисе незначительны и редко возникают на практике: JSON допускает расширенные наборы символов, такие как UTF-32, YAML требует пробел после разделителей, таких как запятая, равно и двоеточие, а JSON нет, а некоторые нестандартные реализации JSON расширяют грамматику до включить /* ... */комментарии Javascript . Обработка таких крайних случаев может потребовать легкой предварительной обработки JSON перед синтаксическим анализом как встроенного YAML.
# If you want to write
# a block-commented Haiku
# you'll need three pound signs
Если вы находитесь в Eclipse с плагином YEdit, стандартный блок-комментарий-переключатель Eclipse ctrl- / будет переключать комментарии блоков в файлах yaml.
Мэтт Гибсон
1
некоторая комбинация работает в eclipse> 4.6 со встроенной поддержкой YAML
Faraz
3
Работает в IDE JetBrains: RubyMine и Gogland
Рич Саттон,
3
Работает в VSCode тоже.
Зейн Патель
67
В Vim вы можете выполнить одно из следующих действий:
Комментарий всех строк: :%s/^/#
Строки комментариев 10 - 15: :10,15s/^/#
Строка комментария 10 к текущей строке: :10,.s/^/#
Строка комментария 10 до конца: :10,$s/^/#
или используя визуальный блок:
Выберите многострочный столбец после ввода визуального блока с помощью Ctrl+v.
Нажмите, rа затем, #чтобы закомментировать многострочный блок, заменяющий выделение, или Shift+i#Escвставить символы комментария перед выделением.
наименьшее количество мыслей возможно;). "Vim, I did a thing. do it here, and here and here and here and here..."
Conrad.Dean
4
Вы также можете нажать :и напечатать, s/^/#чтобы прокомментировать текущий выбор.
hakunin
1
@ Conrad.Dean попытаться научиться мыслить в макросах . Хотя практически то же самое для этой задачи, qqI#<esc>jqто @Q@Q@Q@Q@Q@Q(потому что это быстрее , чтобы не отпускать клавишу смены), привычка вы можете расширить до более сложных задач. Начните с малого. Практикуйтесь часто. Вскоре вы отлично создадите очень сложные макросы с первой попытки. Если вы сначала очистите регистр qqq, вы можете включить его @qдо последнего, qчтобы получить рекурсию (но только до конца файла).
Бруно Броноски
@BrunoBronosky: вместо всего этого @q, вы можете просто сделать 6@qили, 10000@qесли хотите.
18:00
2
@ Бодо, ты действительно можешь. Большинство команд vim принимают :h countмножители. Но для меня, визуально все, что старше 6, и я должен сделать это вручную, потому что я не могу надежно угадать это. Исключением является то, что я знаю, что у меня более 60 строк на моем терминале, поэтому я буду использовать это для оценки очень больших воспроизведений marco. В качестве бонуса я собираюсь предложить всем узнать о :h gnтом, как можно легко делать .повторы при поиске совпадений. См. Vimcasts.org/episodes/operating-on-search-matches-using-gn
Бруно Броноски
29
Альтернативный подход:
Если
ваша структура YAML имеет четко определенные поля, которые будут использоваться вашим приложением
И вы можете свободно добавлять дополнительные поля, которые не будут портить ваше приложение
тогда
на любом уровне вы можете добавить новое блочное текстовое поле с именем типа «Описание» или «Комментарий» или «Заметки» или что-то еще
Пример:
Вместо
# This comment
# is too long
использование
Description: >
This comment
is too long
или
Comment: >
This comment is also too long
and newlines survive from parsing!
Больше преимуществ:
Если комментарии становятся большими и сложными и имеют повторяющийся узор, вы можете продвигать их из блоков простого текста в объекты
Ваше приложение может - в будущем - прочитать или обновить эти комментарии
Я думаю, что это ответ Холли Грааля на вопрос; особенно если кто-то хочет, чтобы эти комментарии появлялись в JSON или XML, если нужно преобразовать YAML в эти два.
Мохд
7
Один из способов заблокировать комментирование в YAML - использовать текстовый редактор, такой как Notepad ++, чтобы добавить тег # (comment) к нескольким строкам одновременно.
В Notepad ++ вы можете сделать это, используя опцию щелчка правой кнопкой мыши «Block Comment» для выделенного текста.
Для пользователей кода Visual Studio (VSCode) ярлык, чтобы закомментировать несколько строк, должен выделить строки, которые вы хотите закомментировать, а затем нажать:
ctrl + /
Повторное нажатие ctrl+ /также можно использовать для отключения комментариев для одной или нескольких выбранных строк.
Ответы:
YAML поддерживает встроенные комментарии, но не поддерживает блочные комментарии.
Из Википедии :
Сравнение с JSON, также из Википедии :
источник
Спецификация описывает только один способ маркировки комментариев:
Это все. Там нет блочных комментариев.
источник
Не пытаясь быть умным об этом, но если вы используете 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Альтернативный подход:
Если
тогда
Пример:
Вместо
использование
или
Больше преимуществ:
источник
Один из способов заблокировать комментирование в 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) - просто выберите блок и выполните:
Это переключатель - используйте его для комментирования и раскомментирования блоков.
Если у вас не установлен yaml-режим, вам нужно указать Emacs использовать хеш-символ (#).
источник
Для пользователей кода Visual Studio (VSCode) ярлык, чтобы закомментировать несколько строк, должен выделить строки, которые вы хотите закомментировать, а затем нажать:
ctrl + /
Повторное нажатие ctrl+ /также можно использовать для отключения комментариев для одной или нескольких выбранных строк.
источник
В браузере Azure Devops (конвейерный редактор yaml),
Ctrl+ K+ CБлок комментариев
Ctrl+ K+ UУдалить комментарий
Также есть опция «Toggle Block Comment», но у меня это не сработало.
Есть и другие «странные» способы: щелкните правой кнопкой мыши, чтобы увидеть «Командная палитра» или F1
Затем выберите опцию курсора.
Теперь это просто вопрос #
или даже умнее [ Ctrl+ k] + [ Ctrl+ c]
источник