首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeSniffer大小写缩进问题

CodeSniffer大小写缩进问题
EN

Stack Overflow用户
提问于 2013-03-06 17:48:36
回答 2查看 1.6K关注 0票数 4

我使用的是带有codesniffer的Netbeans 7.1.1。每当我有一条case语句时,我就会收到缩进错误,例如下面的代码:

代码语言:javascript
复制
    switch ((int) $itemData['column_count']) {
        case 4:
            return 'grid-4columns';
        case 6:
            return 'grid-6columns';
        default:
            return '';
    }

我得到“行缩进不正确;预期8个空格,找到12个”的每一个case行。当我从这些行中删除4个空格时,例如

代码语言:javascript
复制
    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缩进有什么问题?

更新:我的规则集中只有一个缩进规则:

代码语言:javascript
复制
<rule ref="Generic.WhiteSpace.ScopeIndent" />
EN

回答 2

Stack Overflow用户

发布于 2016-07-06 18:39:29

我在使用<rule ref="PEAR.WhiteSpace.ScopeIndent" />时遇到了完全相同的问题,我只是切换到<rule ref="Generic.WhiteSpace.ScopeIndent" />解决了这个问题

票数 2
EN

Stack Overflow用户

发布于 2018-11-28 03:20:48

还可以忽略特定标记的缩进问题:

代码语言:javascript
复制
<!-- 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:规则。

Here is a list of tokens

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15243866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档