首页 > 解决方案 > PhpStorm 中的错误 YAML 缩进 - .editorconf

问题描述

我目前正在为我的 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导致正确格式的属性?

标签: yamlphpstormeditorconfig

解决方案


是否存在.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 缩进空间)处于适当的缩进级别。如果您只想在序列中直接从项目中取出两个缩进空间,这是有道理的,但看起来又很奇怪。

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


推荐阅读