我在 XML 中定义了一个自定义规则集。
我习惯tab
在每个之后都打一个,=>
这样,如果我的数组是多行的,事情就会很好地对齐。这成了一种习惯,我也将它用于单线阵列。因此,多行数组可能看起来像这样
$array = array(
'something' => array(
'short' => 1,
'longer' => 1,
),
);
问题是 PHP CodeSniffer 抱怨和 value 之间有超过 1 个空格=>
(因为我总是打tab
,所以大多数时候会有多个空格 - 当然,这取决于到目前为止的行长度,有时也可以是一个空格)
我尝试将T_ARRAY
令牌添加到Generic.WhiteSpace.ScopeIndent
规则定义中,但没有帮助
<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="4"/>
<property name="ignoreIndentationTokens" type="array" value="T_COMMENT,T_DOC_COMMENT_OPEN_TAG,T_ARRAY"/>
</properties>
</rule>
有解决方案吗?
更新
好的,我意识到这Generic.WhiteSpace.ScopeIndent
与此无关,因为它Squiz.WhiteSpace.OperatorSpacing
是执行此规则的人。现在,根据文档,我无法配置此属性以排除=>
操作员。有没有其他方法可以做到这一点?