我正在使用带有codesniffer的Netbeans 7.1.1。每当我有case
语句时,我会收到缩进错误,例如对于以下代码:
switch ((int) $itemData['column_count']) {
case 4:
return 'grid-4columns';
case 6:
return 'grid-6columns';
default:
return '';
}
我得到“行缩进不正确;预计8个空格,每case
行找到12个”。当我从这些行中删除4个空格时,例如
switch ((int) $itemData['column_count']) {
case 4:
return 'grid-4columns';
case 6:
return 'grid-6columns';
default:
return '';
}
我收到错误“行缩进错误;预计12个空格,找到8”。看起来像codeniffer无法下定决心,这很有趣。当我的提交失败时,乐趣就会因为codeniffer hook而终止。
我的case
缩进有什么问题?
更新:我的规则集中只有一个缩进规则:
<rule ref="Generic.WhiteSpace.ScopeIndent" />
答案 0 :(得分:1)
我使用<rule ref="PEAR.WhiteSpace.ScopeIndent" />
时遇到了完全相同的问题,我修改了它只是切换到<rule ref="Generic.WhiteSpace.ScopeIndent" />
答案 1 :(得分:0)
也可以忽略特定令牌的缩进问题:
<!-- If you are using Generic -->
<rule ref="Generic.WhiteSpace.ScopeIndent">
<properties>
<property name="ignoreIndentationTokens" type="array" value="T_COMMENT,T_DOC_COMMENT_OPEN_TAG,T_CASE" />
</properties>
</rule>
<!-- If you are using PEAR -->
<rule ref="PEAR.WhiteSpace.ScopeIndent">
<properties>
<property name="ignoreIndentationTokens" type="array" value="T_COMMENT,T_DOC_COMMENT_OPEN_TAG,T_CASE" />
</properties>
</rule>
请注意T_CASE
。这样可以防止嗅探器检查您的case:
规则。