2013-03-06 7 views
2

J'utilise Netbeans 7.1.1 avec codesniffer. Chaque fois que j'ai une instruction case, j'obtiens des erreurs d'indentation, par ex. pour le code suivant:Problème d'indentation de cas CodeSniffer

switch ((int) $itemData['column_count']) { 
     case 4: 
      return 'grid-4columns'; 
     case 6: 
      return 'grid-6columns'; 
     default: 
      return ''; 
    } 

je reçois « ligne dentelée de manière incorrecte, attendu 8 places, a trouvé 12 » pour chaque ligne case. Lorsque j'enlève 4 espaces de ces lignes, par ex.

switch ((int) $itemData['column_count']) { 
    case 4: 
     return 'grid-4columns'; 
    case 6: 
     return 'grid-6columns'; 
    default: 
     return ''; 
    } 

Je reçois des erreurs "Ligne indentée de façon incorrecte, attendu 12 espaces, trouvé 8". On dirait que codesniffer ne peut pas se décider, ce qui est assez drôle. Le plaisir se termine lorsque mes commits échouent à cause du hook codesniffer.

Quel est le problème avec mon indentation case?

MISE À JOUR: Je n'ai qu'une règle de retrait dans mon ruleset:

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

S'il vous plaît montrer que les règles de codesniffer en béton sont utilisés qui causent ces erreurs. – hakre

+0

Je pense que la classe sniffer est 'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' –

+0

Lorsque j'essaie ceci sur votre premier bloc de code (en supposant que le paramètre SWITCH soit indenté correctement ou pas du tout dans un fichier de test), je n'obtiens aucune erreur signalée par le sniff. J'ai utilisé la commande: 'phpcs temp.php --standard = Generic --sniffs = Generic.WhiteSpace.ScopeIndent' –

Répondre

1

J'ai eu exactement le même problème en utilisant <rule ref="PEAR.WhiteSpace.ScopeIndent" /> et je l'ai fixé de commutation juste <rule ref="Generic.WhiteSpace.ScopeIndent" />