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_codesnifferNote! 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
 
