题 你怎么在yaml中阻止评论?


有谁知道如何评论yaml中的一行线?


957
2018-02-16 21:42


起源


我经常使用YAML,并且非常需要注释掉我的代码的多行。我用 Notepad++ 作为编辑和使用 Ctrl + Q 和 Ctrl + K 评论和取消注释我的块。 - Müller
如果您使用的是vscode Cmd + / 在想要评论的行上打开和关闭! - frictionlesspulley
如果您正在使用IntelliJ IDEA [CTRL] + [/] 切换内联评论。 - naXa
选择Mac上的块CMD + /或Linux和Windows上的CTRL + / - Girdhar Singh Rathore


答案:


YAML支持内联注释,但不支持块注释。

维基百科

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

与JSON的比较,也来自 维基百科

语法差异很微妙,在实践中很少出现:JSON允许扩展字符集,如UTF-32,YAML需要在分隔符之后的空格,如逗号,等号和冒号,而JSON不需要,而JSON的一些非标准实现将语法扩展为包括Javascript的 /* ... */ 注释。处理此类边缘情况可能需要在解析为内联YAML之前对JSON进行轻度预处理。

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

1459
2018-02-16 21:47



我终于学会了海库斯 - DevOops
你学习了senryu。有点。 nealey.github.io/papers/joke-haiku.html - Neale Pickett
大。所以我想我们必须等待另一种标记语言出现,它支持像这样基本的东西。 - Blauhirn
@Blauhirn是的,太伤心了。幸运的是,IDE和Notepad ++的列模式有点帮助。 - Andrea Ligios
@NealePickett:很棒的链接! - Andrea Ligios


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

明确的注释标有“#”指示符。

就这样。没有块评论。


146
2018-02-16 21:52





不要试图理解它,但如果你使用Sublime Text作为你的编辑器,步骤是:

  1. 选择块
  2. CMD + / 在Mac或 CTRL + / 在Linux和Windows上
  3. 利润

我想其他编辑也有类似的功能。你在用哪一个?我很乐意做一些挖掘工作。


82
2018-05-22 18:20



对于textmate(1和2)也是如此 - kfirbreger
和webstorm一样 - jcollum
也适用于Atom - mndrix
如果你在Eclipse中使用YEdit插件,那么ctrl- /的标准Eclipse block-comment-toggler将在yaml文件中切换块注释。 - Matt Gibson
在sublime + windows工作 - TechCrunch


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

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

或使用视觉块:

  1. 输入visual block via后选择一个多行列 CTRL + V
  2. [R 其次是  注释掉替换选择的多行块,或者 Shift + I键退出 在选择之前插入注释字符。

48
2017-07-09 19:25



我按钮混搭: I#<esc>j.j.j.j.j.j.j.j.j.j. - Conrad.Dean
最少的思考可能;)。 "Vim, I did a thing. do it here, and here and here and here and here..." - Conrad.Dean
做飞行特技表演!废话,再次是ha句。而在错误的线程...... - Matt Fletcher
你也可以打 : 和类型 s/^/# 评论当前选择。 - hakunin
我们也可以评论一行并使用重复动作。每行的[期间]键 - Vishal Anand


如果你使用Eclipse和yedit插件(.yaml文件的编辑器), 你可以评论出多行

  1. 选择要评论的行,然后
  2. CTRL + SHIFT + C

并取消评论按照相同的步骤。


7
2017-07-05 13:42





Emacs有评论-dwim(Do Do I Mean) - 只需选择块并执行:

M-;

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

如果您没有安装yaml-mode,则需要告诉Emacs使用哈希字符(#)。


5
2017-11-20 00:17





对于Windows上的Ruby Mine用户:

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

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


4
2017-12-25 18:13



@Downvoter解决方案有什么问题? - paul
这适用于所有JetBrains IDE我认为。我知道它也适用于PyCharm :)也适用于Mac OSX。 - Edgar Martinez


另一种方法:

如果

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

3
2018-04-26 07:45