Create file called phpcs.xml.dist
to your repository root with following content:
<?xml version="1.0"?>
<ruleset name="Drupal Standard">
<description>A Drupal coding standard</description>
<config name="drupal_core_version" value="8"/>
<rule ref="./vendor/drupal/coder/coder_sniffer/Drupal"/>
<rule ref="./vendor/drupal/coder/coder_sniffer/DrupalPractice"/>
<arg name="extensions" value="php,module,inc,install,js,theme,twig,yml"/>
<file>./drush</file>
<file>./public/modules/custom</file>
<file>./public/themes/custom</file>
<!--<file>./tests</file>-->
<exclude-pattern>*/contrib/*</exclude-pattern>
<exclude-pattern>*/dist/*</exclude-pattern>
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>*/vendor/*</exclude-pattern>
</ruleset>
Require package squizlabs/php_codesniffer
with Composer. PhpStorm uses this to autodetect that PHP_CodeSniffer is used.
composer require --dev squizlabs/php_codesniffer
Note! Package already exists as it's required by drupal/core-dev-pinned
and multiple others.
It's just needed on the root level of composer.lock
to PhpStorm to autodetect it.
Add file extensions to check in Settings >> PHP >> Quality Tools >> PHP_CodeSniffer
This is needed as PhpStorm does not autoconfigure these from phpcs.xml.dist
.
Sometimes it is needed to re-index site to get it working.
- Close PhpStorm
- Clear settings for the project:
rm -rf .idea
- Open PhpStorm and project again