您如何在 YAML 中阻止评论?

如何在 YAML 中注释一行代码?

答案

YAML 支持内联注释,但不支持阻止注释。

维基百科

注释以数字符号( # )开头,可以在一行的任何地方开始,并一直持续到该行的结尾

Wikipedia 的 JSON 比较:

语法上的差异是微妙的,在实践中很少出现:JSON 允许扩展字符集(如 UTF-32),YAML 在逗号,等号和冒号等分隔符后需要一个空格,而 JSON 则不需要,并且一些非标准的 JSON 实现将语法扩展到包括 Javascript 的/* ... */注释。处理此类极端情况可能需要在将 JSON 解析为嵌入式 YAML 之前对 JSON 进行少量预处理。

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

规范仅描述了标记注释的一种方式:

显式注释由 “#” 指示符标记。

就这样。没有块注释。

并不是想变得聪明,但是如果您在编辑器中使用 Sublime Text,则步骤如下:

  1. 选择块
  2. 在 Mac 上为cmd + / ,在 Linux 和 Windows 上为ctrl + /
  3. 利润

我以为其他编辑器也具有类似的功能。您正在使用哪一个?我很乐意进行一些挖掘。

在 Vim 中,您可以执行以下操作之一:

  • 注释所有行:: :%s/^/#
  • 评论行 10-15 :10,15s/^/#
  • 第 10 行到当前行的注释:10,.s/^/#
  • 第 10 行注释到结尾:: :10,$s/^/#

或使用可视块:

  1. 通过Ctrl + v进入可视块后,选择多行列。
  2. r,然后按注释掉替换选择的多行块,或按Shift + i Esc在选择之前插入注释字符。

替代方法:

如果

  • 您的 YAML 结构具有定义明确的字段,供应用程序使用
  • 并且您可以自由添加不会干扰您的应用的其他字段

然后

  • 在任何级别,您都可以添加一个新的块文本字段,例如 “Description” 或 “Comment” 或 “Notes” 等

例:

代替

# 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. 您的应用程序将来可能会阅读或更新这些评论

如果您将 Eclipse 与 yedit 插件(.yaml 文件的编辑器)一起使用,则可以通过以下方式注释掉多行:

  1. 选择要注释的行,然后
  2. Ctrl + Shift + C

要取消注释,请遵循相同的步骤。

Emacs 有 comment-dwim(执行我的意思)- 只需选择该块并执行以下操作:

M-;

这是一个切换 - 用它注释和取消注释块。

如果未安装 yaml-mode,则需要告诉 Emacs 使用井号(#)。

对于 Windows 上的 Ruby Mine 用户:

在编辑器中打开文件选择块,然后按Ctrl + 正斜杠 ,您将选择以#开头的块。

现在,如果要取消注释已注释的块,请再次按相同的组合键Ctrl + 正斜杠

在 YAML 中阻止评论的一种方法是使用文本编辑器(如 Notepad ++)一次将#(注释)标记添加到多行中。

在 Notepad ++ 中,可以使用 “块注释” 右键单击所选文本的选项来执行此操作。

Images图片!

对于 Visual Studio Code(VSCode)用户,注释掉多行的快捷方式是突出显示要注释的行,然后按:

Ctrl + /

再次按ctrl + /也可以用于关闭一个或多个选定行的注释。