PHPCS忽略太多缩进



我已经更新了phpcs.xml中的phpcs规则,包括:

<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="indent" value="2" />
</properties>
</rule>

它非常有效,但是如果我有:

function test($x) {
$string = 'Hello';
return $string . $x;
}

不会出现错误,但如果没有缩进,则会出现错误。我搞不清楚问题出在哪里。

默认情况下,Generic.WhiteSpace.ScopeIndent嗅探不会强制执行代码的精确对齐。它只强制一行之前至少有n空格或制表符。

例外情况是当它检查IF语句、FOREACH循环或函数等控制结构时。它使用这些结构来确定代码其余部分的缩进规则,因此需要将这些结构缩进到精确的列中。

通过将exact嗅探属性设置为true,可以启用对所有行的精确检查。可以在这里找到如何做到这一点的示例:https://github.com/squizlabs/PHP_CodeSniffer/wiki/Customisable-Sniff-Properties#genericwhitespacescopeindent

最新更新