2013-03-06 88 views
2

我使用Netbeans 7.1.1與codesniffer。每當我有一個case聲明,我都會得到縮進錯誤,例如以下代碼:CodeSniffer案例縮進問題

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 ''; 
    } 

我收到錯誤「行縮進錯誤;預計12個空格,找到8個」。看起來像codesniffer無法下定決心,這很有趣。當我的提交由於codesniffer鉤子而失敗時,樂趣結束。

我的case壓痕有什麼問題?

UPDATE:我只有一個縮進規則在自己的規則:

<rule ref="Generic.WhiteSpace.ScopeIndent" /> 
+0

請出示使用哪些具體codesniffer規則那是造成這些錯誤。 – hakre 2013-03-06 10:03:45

+0

我認爲,嗅探器類是'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' – 2013-03-06 10:16:07

+0

當我在你的第一個代碼塊(假設開關是正確縮進,或者根本沒有在測試文件中縮進)嘗試這個時,我沒有從sniff報告錯誤。我使用了命令:'phpcs temp.php --standard = Generic --sniffs = Generic.WhiteSpace.ScopeIndent' – 2013-03-06 21:24:54

回答

1

我有完全相同使用<rule ref="PEAR.WhiteSpace.ScopeIndent" />同樣的問題,我固定它只是切換到<rule ref="Generic.WhiteSpace.ScopeIndent" />