Arhn - архитектура программирования

Как найти и изменить наборы правил в codeniffer?

Я использую 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, и предварительная фиксация автоматического анализа кода следуют одному и тому же набору правил.

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

19.09.2019

  • Вы должны сами создать xml-конфигурацию, чтобы изменить другие стандарты - исключить/добавить сниффы из существующих. В PSR-2 уже есть правило DisallowTabIndent. Что вы хотите сделать с отступом? 19.09.2019
  • Быстрый комментарий, чтобы сказать, что PSR2 включает в себя PSR1, поэтому вы можете просто указать --standard=PSR2, так как это одно и то же. 19.09.2019

Ответы:


1

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

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

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

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

19.09.2019
  • Он наследуется от PSR-2? т.е. будет ли <rule ref="PSR2"> использоваться все PSR-2 и переопределять некоторые значения по умолчанию со следующими спецификациями? 19.09.2019
  • Верный. Он включает в себя весь стандарт PSR2, а затем изменяет его. 21.09.2019
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..