2012-01-20 13 views
6

przy użyciu codesniffer ze standardem gruszki. Dostałem ponad 20tsd błędów powodujących wcięcia linii. Używam tabulatorów do wcięć. Próbuję wyłączyć tę kontrolę, ale mi się nie udało.codesniffer za pomocą standardowego ignorowania linii gruszki

Usunąłem ostatnią regułę z ogólnych standardów w zestawie reguł.xml dla standardu gruszka. Mimo to wcięcie jest nadal uważane za błąd.

Jak całkowicie usunąć testy wcięć dla standardu pear?

Odpowiedz

0

Można to osiągnąć, wyszukując następujący plik "ScopeIndentSniff.php", który musi znajdować się w folderze o nazwie "WhiteSpace" w "standardach". Po prostu zmień nazwę. Należy pamiętać, że aplikacje mogą mieć własny folder ze standardami. Na przykład Eclipse ma własny folder, w którym znajdują się standardy. Jeśli więc zmienisz folder udostępniania, może to nie mieć zastosowania. Można jednak skonfigurować Eclipse, aby używał również folderu udostępniania. (Preferencje -> PHP Tools -> CodeSniffer -> CodeSniffer Standards)

+0

Odpowiedź Toma może być bardziej odpowiednia do edycji samego zestawu reguł. Ale sprawa, że ​​zaćmienie ma swój własny folder, była faktycznie problemem w moim przypadku. – DarsVaeda

+1

Jak sobie z tym radzić, gdy CodeSniffer jest zarządzany jako zewnętrzna zależność? Ty nie. To zdecydowanie jest ** zła praktyka **. Użyj zestawu reguł lub opcji wiersza poleceń zgodnie z opisem w odpowiedzi Tom Desp. –

5

Powinien działać, więc powinno się próbować zrozumieć dlaczego szczypanie plik ruleset.xml nie działa w środowisku, w przeciwnym razie będziesz brakuje wielu funkcje od CodeSniffer.

Przypominamy, tu są dwie opcje:

  1. Albo wykluczają wyraźnie powąchać w zestawie reguł:

    <rule ref="PEAR"> 
        <exclude name="PEAR.WhiteSpace.ScopeIndent" /> 
    </rule> 
    
  2. Albo wyciszyć dół konkretny komunikat o błędzie, w wyniku reguła aktualnie wykonywana dla potencjalnych innych komunikatów o błędach:

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

Co rozumiesz przez * Powinieneś zdecydowanie zrozumieć, dlaczego nie możesz poprawić pliku 'ruleset.xml'. *? Czy masz na myśli, że * nie jest możliwe modyfikowanie 'ruleset.xml', i powinieneś rozumieć dlaczego. *? Czy masz na myśli: * powinieneś zrozumieć, jak ulepszyć swój plik 'ruleset.xml'. *? – Cheeso

+0

Przepraszam, jeśli to nie jest wystarczająco jasne. Miałem na myśli: * Powinieneś zbadać dalej i spróbować zrozumieć, dlaczego nie działa w Twoim środowisku, tak jak powinno być * –

Powiązane problemy