2015-06-08 3 views
0

Я настраиваю phpcs для использования WordPress coding standards с помощью специального набора правил.phpcs - Установить тип сообщения по умолчанию для предупреждения для всех сокращений из настраиваемого набора правил

Моих phpcs.xml выглядит так

<?xml version="1.0"?> 
<ruleset name="Bulk Delete"> 
    <description>Bulk Delete coding standard</description> 

    <file>./</file> 

    <!--Docs issues should be shown as warnings --> 
    <rule ref="WordPress-Docs"> 
     <type>warning</type> 
    </rule> 
</ruleset> 

WordPress-Docs является выборочным набором правил, который defined как часть WordPress coding standard фыркает, и я хочу, чтобы все сообщения из этого набора правил, которые будут помечены как warnings вместо errors.

Annotated ruleset file в PHP CodeSniffer wiki говорит, что я могу сделать что-то вроде этого.

<!-- 
    Here we are including a specific sniff but also changing 
    the error message of a specific message inside the sniff. 
    Note that the specific code for the message, which is 
    CommentFound in this case, is defined by the sniff developer. 
    You can display these codes by using the -s command line 
    argument when checking a file. 

    Also note that this message has a variable inside it, 
    which is why it is important that sniffs use a printf style 
    format for their error messages. 

    We also drop the severity of this message from the 
    default value (5) so that it is hidden by default. It can be 
    displayed by setting the minimum severity on the PHP_CodeSniffer 
    command line. This is great if you want to use some messages 
    only in code reviews and not have them block code commits. 
--> 
<rule ref="Generic.Commenting.Todo.CommentFound"> 
    <message>Please review this TODO comment: %s</message> 
    <severity>3</severity> 
</rule> 

Но это работает только в том случае, если вы включаете нюансы напрямую. Но в моем случае я хочу сделать эту работу для специального набора правил, который включен с использованием тега rule.

Возможно ли это?

ответ

1

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

Если у вас есть контроль над стандартом WordPress, вы можете использовать настраиваемый параметр конфигурации, чтобы пользователи могли указать, должен ли стандарт Doc использовать ошибки или предупреждения, но это будет очень конкретный прецедент.

Без такого уровня контроля на одном опыте вы ничего не сможете сделать. Вам нужно будет сделать 2 прогона; 1-й со всем, кроме стандарта Doc, а второй с только стандартом Doc. Первым будет ваш список ошибок правил, который вы хотите исправить, а второй будет вашим информационным списком.

Это не является хорошим решением, но не все, что я могу думать, чтобы делать то, что вы после этого без сердечника PHP_CodeSniffer изменения, которые вы можете предложить здесь: https://github.com/squizlabs/PHP_CodeSniffer/issues

+0

Спасибо. Я вроде как подозревал это. На данный момент я думаю, что только мое предположение - убедить создателей стандартных нюков WordPress, чтобы предоставить возможность конвертировать Doc-ошибки в предупреждения. – Sudar