2012-01-20 17 views
6

using codesniffer with pear standard. Ho superato gli errori di 20tsd causa di rientri di riga. Uso i tab-stop per il rientro. Provo a disabilitare quel controllo ma non sono riuscito.codesniffer usando la riga standard ignora indent

Ho rimosso l'ultima regola dagli standard generici in ruleset.xml per lo standard di pera. Tuttavia il rientro è ancora considerato un errore.

Come si rimuovono completamente i controlli di sicurezza per lo standard peri?

risposta

0

È possibile ottenere questo cercando il seguente file "ScopeIndentSniff.php" questo deve essere in una cartella denominata "WhiteSpace" in "standard". Basta rinominarlo. Si noti che le applicazioni possono avere una propria cartella con gli standard. Ad esempio, Eclipse ha una propria cartella in cui riposano gli standard. Quindi, se si modifica la cartella condivisa, questo potrebbe non essere applicabile. Ma puoi anche impostare Eclipse per usare anche la tua cartella condivisa. (Preferenze -> Strumenti PHP -> CodeSniffer -> CodeSniffer Standards)

+0

La risposta di Tom potrebbe essere più appropriata per la modifica del set di regole stesso. Ma il caso in cui Eclipse ha una sua cartella è stato il vero problema nel mio caso. – DarsVaeda

+1

Come gestirlo quando CodeSniffer viene gestito come dipendenza esterna? Non lo fai. Questo è sicuramente ** una cattiva pratica **. Utilizzare un set di regole o opzioni della riga di comando come descritto nella risposta di Tom Desp. –

5

Dovrebbe funzionare, quindi si dovrebbe assolutamente cercare di capire il motivo per cui modificando il file ruleset.xml non funziona nel vostro ambiente, altrimenti sarete perdendo molti caratteristiche di CodeSniffer.

Come promemoria, qui le due opzioni:

  1. O si escludono esplicitamente lo sniff nel vostro set di regole:

    <rule ref="PEAR"> 
        <exclude name="PEAR.WhiteSpace.ScopeIndent" /> 
    </rule> 
    
  2. Oppure si muto giù un messaggio di errore specifico, con conseguente la regola viene effettivamente eseguita per potenziali altri messaggi di errore:

    <rule ref="PEAR.WhiteSpace.ScopeIndent.Incorrect"> 
        <severity>0</severity> 
    </rule> 
    
+0

Cosa intendi con * Dovresti capire inequivocabilmente perché non puoi modificare il tuo file 'ruleset.xml'. *? Intendi, * non è possibile modificare 'ruleset.xml', e dovresti capire perché. *? O intendi, * dovresti capire come modificare il tuo file 'ruleset.xml'. *? – Cheeso

+0

Scusa se non è abbastanza chiaro. Intendevo: * Dovresti investigare ulteriormente e cercare di capire perché non funziona nel tuo ambiente come dovrebbe essere * –