Drupal Code Linting with Sublime Text, PHPStorm and VSCode
Using ZSH?
Create a .zprofile with this: export PATH=$HOME/.composer/vendor/bin:$PATH
Getting CodeSniffer and Drupal Coder
-
Install code sniffer v2.7 globally with composer (see this issue):
composer global require squizlabs/php_codesniffer -
Install drupal/coder globally with composer:
composer global require drupal/coder -
Register the Drupal and DrupalPractice Standard with PHPCS:
phpcs --config-set installed_paths ~/.composer/vendor/drupal/coder/coder_sniffer
Sublime Text configuration
-
Get SublimeLinter using Package Control: ⌘ + P
Package Control: Install Packageand thenSublimeLinter -
Get SublimeLinter-phpcs using Package Control: ⌘ + P
Package Control: Install Packageand thenSublimeLinter-phpcs -
You can set the standard globally in your SublimeLinter Settings (Preferences > Package Settings > Sublime Linter > Settings) or per project in your
.sublime-projectfile:
"SublimeLinter": {
"linters": {
"phpcs": {
"standard": "Drupal"
}
}
}
PHP Storm configuration
Official instructions here.
-
Under
Preferences > Languages & Frameworks > PHP > Code Snifferselect “Local” for the phpcs script path and paste the exact path to your local installation: (on macOS it would like this:/Users/yourusername/.composer/vendor/squizlabs/php_codesniffer/scripts/phpcs) -
Open and check
Preferences > Editor > Inspections > PHP Code Sniffer validation -
From the right pane select the Coding standard drop-down list, choose “Custom” and click the Browse button
-
In the Custom Coding Standard dialog box that opens, specify the path to the root directory of your own coding standard in the Root directory, something like:
/Users/yourusername/.composer/vendor/drupal/coder/coder_sniffer/Drupal/ruleset.xml
VSCode Configuration
-
Install the phpcs extension
-
In the preferences search for “phpcs” and then set the standard to “Drupal”