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

Пользовательский набор правил phpcs не соблюдает декларацию exclude-pattern

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

Полный файл конфигурации phpcs.xml находится по адресу https://github.com/sudar/bulk-move/blob/master/phpcs.xml Ниже я упомянул интересные моменты

<file>./</file>

<!-- Exclude test directories -->
<exclude-pattern>tests/*</exclude-pattern>

<!-- PHP Compatibility -->
<config name="testVersion" value="5.2-"/>
<rule ref="PHPCompatibility">
</rule>

Теперь, когда я запускаю команду phpcs из корня моего проекта, она исключает файлы из каталога тестов и запускает phpcs только для других файлов.

В PhpStorm я выбрал этот файл phpcs.xml в качестве пользовательского стандарта кодирования при настройке phpcs. Но когда я редактирую файл из каталога тестов (это исключено), PhpStorm по-прежнему вызывает phpcs с пользовательским стандартом кодирования и показывает предупреждения.

Итак, мой вопрос: как указать PhpStorm исключить файлы, которые исключены в файле набора правил phpcs.xml?

19.12.2017

Ответы:


1

<exclude-pattern> в настоящее время не поддерживается.

https://youtrack.jetbrains.com/issue/WI-22102 — посмотрите это билет (звезда/голосование/комментарий), чтобы получать уведомления о любом прогрессе.


Прямо сейчас вы можете исключить файлы из обработки PHPCS... но это нужно делать вручную в IDE.

Интеграция PHP CodeSniffer (отображение результатов проверки) выполняется как проверка .. поэтому вы можете настроить ее (включить/отключить) для каждой области:

  • Go to Settings/Preferences | Editor | Inspections
  • Найдите проверку CodeSniffer (PHP | PHP Code Sniffer validation)
  • Adjust scopes as needed
    • If you have marked your tests folder as Tests Root in Project View panel (or Settings/Preferences | Directories .. or maybe it was auto-detected from composer.json file) then such folder is already a part of standard "Tests" scope)
    • Если нет -- либо отметьте это как таковое... либо создайте пользовательский Scope по адресу Settings/Preferences | Appearance & Behavior | Scopes и затем используйте его там.

Некоторые ссылки:

19.12.2017
  • Спасибо, что указали на билет. Очень жаль, что Jetbrain не исправила это даже спустя 4 года. 20.12.2017
  • Обходной путь областей не будет работать для меня, так как мне нужно применить другой анализ кода phpcs для файлов «tests» и «src». Scopes позволяет мне включать или отключать проверку phpcs только в зависимости от области действия. 20.12.2017
  • Я не уверен, как именно работает интеграция CS... но теоретически это не должно влиять на сами правила: нигде в IDE вы не указываете, какие правила использовать и где - вы указываете только какие набор правил для использования; Я думаю, как это будет обрабатываться внутри, должно зависеть от PHPCS. Исключение в этом случае заключается в том, следует ли вообще запускать PHPCS для этого файла или нет. Но если это так не работает... значит моя теория неверна/не соответствует действительности. 20.12.2017
  • Я определил правила в phpcs.xml таким образом, что наборы правил применяются в зависимости от того, где находится файл. (Различный набор правил для src и тестов). Он отлично работает при вызове из командной строки. Но это не работает в PhpStorm. 20.12.2017
  • Возможно (просто хотя бы), что это зависит от того, как IDE выполняет реальную команду. Он определенно использует временное местоположение ... поэтому относительный путь (даже частичный) к этому файлу может не совпадать с фактическим / исходным файлом. Посмотрим, сможешь ли ты это проверить. Никаких других ярких идей. 20.12.2017

  • 2

    Он будет поддерживаться в 2020.2! См. ссылку Youtrack выше.

    23.04.2020
  • полезно знать, но, пожалуйста, укажите правильный источник (ссылку и URL-адрес) - см. stackoverflow.com/help/how-to-answer 24.04.2020
  • Я использую 2020.3.2 и сталкиваюсь с ошибкой. Это регресс? 08.02.2021
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге 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 , и использованием..

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