yaml - 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
导致正确格式的属性?
解决方案
是否存在
.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 缩进空间)处于适当的缩进级别。如果您只想在序列中直接从项目中取出两个缩进空间,这是有道理的,但看起来又很奇怪。
无论您采用哪种解决方案,很明显“每个缩进级别的固定数量的空格”的简单想法不适用于它。因此,编辑器的基本缩进能力不足以实现它。我不知道有哪个编辑器支持我描述的一个案例。
推荐阅读
- css - 框元素不以 CSS 为中心
- c# - 比较 GridView 上的值并根据条件设置背景颜色单元格
- angular - Angular 5 - 为什么我的输入属性未定义?
- python - centos 7中crontab中的python代码在自动更新证书时有什么用?
- javascript - 无效选择器:xpath 表达式的结果。它应该是一个元素
- c++ - 在 HoughLines 之前要采取什么预处理步骤
- javascript - 你如何制作一个可移动的元素,并将其绑定到屏幕大小?
- javascript - Jquery,如何在中继器设置列表中循环?
- laravel - 一次验证两列的问题
- javascript - 如何在加载时检查数字或选中的复选框?