Как найти и изменить наборы правил в codeniffer? - PullRequest
0 голосов
/ 19 сентября 2019

Я использую codeniffer в git-хуке перед фиксацией, как этот

phpcs --standard=PSR2,PSR1 src/

Однако мне не нравится целевая политика с вкладками.Моя проблема в том, что я не могу найти xml, который определяет набор правил.Когда я пытаюсь найти доступные стандарты с

phpcs -i

, я получаю The installed coding standards are MySource, PEAR, PSR1, PSR12, PSR2, Squiz and Zend.Итак, я думаю, что где-то на моем диске должна быть папка с XML-файлами, определяющими эти стандарты?Кроме того, MySource выглядит как шаблон, с которого я мог бы начать, однако я не нашел ни одного из этих файлов.Кажется, здесь установлен Codesniffer: c:\Users\*****\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\.

Также я использую PhpStorm и настроил путь к Code Sniffer.Теперь IDE полна предупреждений, но и здесь я не понимаю, откуда она берет свои правила.Конфигурация установлена ​​в «Локальный», который я не знаю, где можно найти фактическую конфигурацию.Исходя из VSCode с prettier + eslint, я ожидаю где-нибудь конфигурацию, в которой и IDE, и автоматическая предварительная фиксация кодов будут следовать одному и тому же набору правил.

Надеюсь, вы поможете мне исказить мою голову.Заранее спасибо.

1 Ответ

2 голосов
/ 19 сентября 2019

Вы не должны изменять включаемые файлы XML для стандартов.Вместо этого вы хотите определить свой собственный XML-файл, который включает стандарт PSR2, а затем изменить его.

Вот пример, в котором используется PSR2, но требуются отступы табуляции вместо отступов пробела: https://gist.github.com/gsherwood/9d22f634c57f990a7c64

Инструкции по использованию включены в суть, хотя вы можете вместо этого сохранить этот файл в корневой каталог вашего проекта и назвать его phpcs.xml или .phpcs.xml, и PHPCS найдет его автоматически, если вы не укажете используемый стандарт.

Для вашей IDE укажите полный путь к файлу XML, чтобы он использовал пользовательский стандарт.Или обратитесь к документации для плагина IDE (если есть) о том, как использовать пользовательский набор правил.

...