【问题标题】:Wrong YAML indent in PhpStorm - .editorconfPhpStorm 中的错误 YAML 缩进 - .editorconf
【发布时间】:2021-09-27 03:57:43
【问题描述】:

我目前正在为我的 PhpStorm 打算使用 .yaml 序列而苦苦挣扎,这些序列除了字符串之外还有其他属性。例如。在图片中按顺序排列的键。

所需的行为是具有符合项目的自动格式化 - git 更改图片中的旧值。

.editorconf 是基本的,不处理这个问题。 PhpStorm .yaml 格式化属性是默认属性。测试了所有选项,但都没有达到预期的结果。

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.yaml]
quote_type = single

是否有一个.editorconf 属性可以导致正确的格式?

【问题讨论】:

  • 你的 YAML 文件的全名是什么?
  • organisation-admin-news.yaml - 它包含 OA3
  • 您在.editorconf 中有一个全局规则,其中indent_size = 4 也适用于.yaml 文件。您可以将其更改为 2(或为 yaml 文件设置为 2)或将其从全局模式中完全删除。
  • 在 yaml 文件中需要缩进 4 个空格 - 但是在序列项中,不需要在短划线和键之间缩进。

标签: yaml phpstorm editorconfig


【解决方案1】:

是否有一个.editorconf 属性可以导致正确的格式?

不,您的用例太奇特了。您基本上是在说“缩进级别之间有 4 个空格,但在特定上下文中没有,这要通过考虑文件的语义来识别”。此外,目前还不清楚如何继续保持这样的水平:

foo:
    - one: two
      three:
        lorem
      four:
          ipsum
      five:
            dolor
six:
    seven:
        eight

在本例中,lorem 的缩进处于下一个适当的缩进级别(2*4 个空格)。这看起来很奇怪。

ipsum相对缩进的,即不是在适当的缩进级别(2*4 + 2 个空格),但比前一个级别多 4 个空格。与下方的eight 进行比较可以看出,这是非常不规则的,它之间没有序列,因此处于适当的缩进级别。

dolor 根据其深度处于适当的缩进级别(深度为 3,因此缩进空间为 3*4)。如果您只想在序列中直接从项目中取出两个缩进空间,这是有道理的,但看起来又很奇怪。

无论您追求哪种解决方案,很明显“每个缩进级别的固定数量的空格”的简单想法不适用于它。因此,编辑器的基本缩进能力不足以实现它。我不知道有哪个编辑器支持我描述的其中一种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2019-03-23
    • 2020-11-12
    相关资源
    最近更新 更多