我使用的是带有codesniffer的Netbeans 7.1.1。每当我有一条case语句时,我就会收到缩进错误,例如下面的代码:
switch ((int) $itemData['column_count']) {
case 4:
return 'grid-4columns';
case 6:
return 'grid-6columns';
default:
return '';
}我得到“行缩进不正确;预期8个空格,找到12个”的每一个case行。当我从这些行中删除4个空格时,例如
switch ((int) $itemData['column_count']) {
case 4:
return 'grid-4columns';
case 6:
return 'grid-6columns';
default:
return '';
}我收到错误消息"Line indented;expected 12 spaces,found 8“。看起来codesniffer拿不定主意,这很有趣。当我的提交由于codesniffer钩子而失败时,有趣的事情就结束了。
我的case缩进有什么问题?
更新:我的规则集中只有一个缩进规则:
<rule ref="Generic.WhiteSpace.ScopeIndent" />发布于 2016-07-06 18:39:29
我在使用<rule ref="PEAR.WhiteSpace.ScopeIndent" />时遇到了完全相同的问题,我只是切换到<rule ref="Generic.WhiteSpace.ScopeIndent" />解决了这个问题
发布于 2018-11-28 03:20:48
还可以忽略特定标记的缩进问题:
<!-- 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:规则。
https://stackoverflow.com/questions/15243866
复制相似问题