格式化时如何阻止 PhpStorm 在 XML 节点之间插入换行符?

How can I stop PhpStorm to insert linebreaks between XML nodes when formatting?

我有以下 XML(来自 Magento 2):

<item name="address-list" xsi:type="array">
      <item name="component" xsi:type="string">Magento_Checkout/js/view/shipping-address/list</item>
      <item name="displayArea" xsi:type="string">address-list</item>
</item>

当我使用自动代码格式功能时,我得到以下信息:

<item name="address-list" xsi:type="array">
        <item name="component"
              xsi:type="string">Magento_Checkout/js/view/shipping-address/list
        </item>
        <item name="displayArea"
              xsi:type="string">address-list
        </item>
</item>

这不再有效,因为 Magento 会解释标签之间的空格,例如,组件变为

"Magento_Checkout/js/view/shipping-address/list                               "
                                               ^^^^^ Unwanted spaces ^^^^^^^^^

如何让 PhpStorm 停止插入这些换行符?

编辑

演示文件:

https://gist.github.com/amenk/c018332373045e3e8b13

格式化前

格式化后:

设置:

  1. 根据您的描述和屏幕截图:由于右边距,您似乎将其包裹起来(该值对于您的行而言太低,IDE 将这么长的行分成几行)。

    最简单的解决方案是 增加右边距(在当前 IDE 版本中,可以在每个文件 type/language 的基础上这样做,只要它在代码样式中有条目)。在您的情况下,它将位于 Settings/Preferences | Editor | Code Style | XML | Other

  2. 此外,您可以更改代码样式设置以防止这种换行,即使行长于当前右边距也是如此。为此,请查看同一设置页面上的 "Wrap attributes" 选项 - 使用 Do not wrap 而不是您的 Wrap if long.

    此设置似乎在我的设置中运行良好: