2012-05-14 7 views

Odpowiedz

11

Musisz utworzyć niestandardowy standard kodowania, jeśli chcesz zastąpić te wbudowane. Jest to tylko kwestia utworzenia pliku XML z definicją standardu.

W twoim przypadku potrzebujesz całego standardu kodowania Zend, ale nie chcesz mieć konkretnej reguły nazewnictwa dla nazw zmiennych. Tak by utworzyć plik o nazwie mystandard.xml (nazwa to co chcesz i umieścić go gdziekolwiek chcesz) i umieścić w następujących treści:

<?xml version="1.0"?> 
<ruleset name="MyStandard"> 
<description>My custom Zend coding standard.</description> 
<rule ref="Zend"> 
    <exclude name="Zend.NamingConventions.ValidVariableName"/> 
</rule> 
</ruleset> 

Jest dużo więcej można zrobić, aby dostosować swoje standardy, w tym wprowadzanie czeków z innych standardów, nadpisywanie wiadomości lub wyciszanie niektórych z nich. Możesz spojrzeć na dokumenty tutaj: http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php

Ostatni sprawdziłem, PHPStorm nie pozwolił ci korzystać z niestandardowych standardów kodowania, z jakiegokolwiek powodu. Zwykle wystarczy wpisać nazwę standardu jako pełną ścieżkę do pliku mystandard.xml. Jeśli PHPStorm nadal nie pozwala ci tego zrobić, jedynym sposobem, aby oszukać, jest faktyczne zainstalowanie niestandardowego standardu.

Należy zauważyć, że nie jest to coś, co zwykle trzeba zrobić i jest to nieco skomplikowane. Ale jeśli chcesz go wypróbować, tak to zrobisz:

  1. Znajdź, gdzie PHPCS jest zainstalowany w twoim systemie. Jeśli nie wiesz, gdzie to jest, spróbuj pear config-show | grep php_dir. PHP_CodeSniffer znajdzie się w tym katalogu. Dla mnie, gruszka jest zainstalowany w /usr/local/PEAR, więc PHP_CodeSniffer znajduje się w /usr/local/PEAR/PHP/CodeSniffer
  2. Utwórz nowy katalog o nazwie MyStandard pod /usr/local/PEAR/PHP/CodeSniffer/Standards
  3. Umieść plik mystandard.xml bezpośrednio tam jednak zmienić jego nazwę na ruleset.xml

aby potwierdzić standard został zainstalowany, uruchom phpcs -i. Powinieneś zobaczyć

The installed coding standards are MySource, MyStandard, PEAR, PHPCS, Squiz and Zend 

Teraz PHPStorm pokaże (miejmy nadzieję) MyStandard jako opcja w menu rozwijanego. Jeśli się nie pojawi, prawdopodobnie zakodowali listę i nie będzie żadnego sposobu, aby to zadziałało bez bezpośredniego hakowania standardu kodowania Zend.

Mam nadzieję, że te informacje pomogą znaleźć rozwiązanie. Jeśli nie, zawsze można uruchomić PHPCS bezpośrednio z linii poleceń przy użyciu standardowego w niestandardowy:

phpcs --standard=/path/to/mystandard.xml /path/to/code 
0

Lista standardów nie jest ustalony, to uzyskane z phpcs. Instalowanie własnego standardu, jak opisano powyżej, wykona zadanie.

+0

Spędziłem lepszą część popołudnia próbując zmusić to do pracy. PHPStorm nie załaduje nawet listy zainstalowanych standardów, jedyne opcje w ustawieniach inspektora są puste i niestandardowe, a nawet wybranie opcji sprawdzania poprawności nigdy się nie wyświetla. Mogę uzyskać phpcs, aby poprawnie uruchomić CLI, ale byłoby miło, gdyby działało zgodnie z dokumentami dla PHPStorm. –

2

Możliwe jest dodanie własnego zestawu reguł do phpstorm, można to zrobić w ustawieniach projektu => inspections => "Sprawdzanie snifferów kodu PHP", używając standardu kodowania "Niestandardowy" i ustawić katalog główny twojego niestandardowy zestaw reguł.xml

Powiązane problemy