PhpStormのPHP Code Snifferでカスタムルールセットを追加する

表題の件。

PhpStormでPHPCSを使う場合、プロジェクトごとの除外ルールなどを適用させるやり方。

結論は「プロパティ > Editor > Inspections > PHP > PP Code Sniffer Validatin」を辿り、右下の「Coding Standard」からCustomを選択。
「Path to ruleset」でプロジェクトごとのルールセットのxmlを指定する。

ちなみにphpcs.ruleset.xmlという名前のファイルでWordPress用で中身はこんな感じです。

<?xml version="1.0"?>
<ruleset name="WordPress Theme Coding Standards">
    <!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
    <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->

    <!-- Set a description for this ruleset. -->
    <description>A custom set of code standard rules to check for WordPress themes.</description>

    <!-- Include the WordPress ruleset, with exclusions. -->
    <rule ref="WordPress">
        <!-- 固定ページ内にクラスを入れることを許容 -->
        <exclude name="WordPress.Files.FileName.InvalidClassFileName" />
        <!-- ファイル名の決定時にslugをサポートするため、page-hoge_fuga.php を許容する -->
        <exclude name="WordPress.Files.FileName.NotHyphenatedLowercase" />
        <!-- コメント分の末尾をフルストップ、ビックリマークやはてなで終わらせる必要があるルールを除外する -->
        <exclude name="Squiz.Commenting.InlineComment.InvalidEndChar" />

        <!-- _sのテーマに元々ある多言語化周りの警告を無視する -->
        <exclude name="WordPress.WP.I18n.MissingTranslatorsComment" />
    </rule>

    <exclude-pattern>*/vendor/*</exclude-pattern>
</ruleset>

実行は下記の通り。

$ ./vendor/bin/phpcs -p -s -v -n --standard=phpcs.ruleset.xml --extensions=php themes/my-theme/
%d人のブロガーが「いいね」をつけました。