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

时间:2015-10-26 12:45:55

标签: xml phpstorm

我有以下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

格式化之前

enter image description here

格式化后:

enter image description here

设定:

enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 根据您的描述和屏幕截图:看起来你因为右边距而包裹它(你的线条的值太低而IDE将这么长的线条分成几条)。

    最简单的解决方案是增加右边距(在当前的IDE版本中,只要在代码样式中有条目,就可以在每种文件类型/语言的基础上执行此操作)。在您的情况下,它将在Settings/Preferences | Editor | Code Style | XML | Other

  2. 此外,即使行长于当前右边距,您也可以更改代码样式设置以防止此类换行。要查看同一设置页面上的“换行属性”选项,请使用Do not wrap代替您的Wrap if long

    此设置似乎在我的设置上正常工作:

    enter image description here

    CancellationToken