You should put phpcs.bat
and phpcs
in your PHP folder - e.g. d:\program\php\phpcs
. The CodeSniffer itself should reside in d:\program\php\PEAR\PHP\CodeSniffer
- there will be a script autoload.php
and a subfolder src
.
Then in Settings -> Languages & Frameworks -> PHP -> Code Sniffer
you specify the path to phpcs.bat
and Validate
it.
Then in Settings -> Editor -> Inspections
you find the node PHP Code Sniffer validation
and enable it. After enabling it you will be able to configure it - specifically choose the coding standard.
This is my phpcs
#!D:\PROGRAM\Inet\Design\php\php.exe
<?php
/**
* PHP_CodeSniffer detects violations of a defined coding standard.
*
* @author Greg Sherwood <[email protected]>
* @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
* @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
*/
if (is_file(__DIR__.'/../autoload.php') === true) {
include_once __DIR__.'/../autoload.php';
} else {
include_once 'PHP/CodeSniffer/autoload.php';
}
$runner = new PHP_CodeSniffer\Runner();
$exitCode = $runner->runPHPCS();
exit($exitCode);
This is my phpcs.bat
@echo off
REM PHP_CodeSniffer detects violations of a defined coding standard.
REM
REM @author Greg Sherwood <[email protected]>
REM @copyright 2006-2015 Squiz Pty Ltd (ABN 77 084 670 600)
REM @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence
if "%PHPBIN%" == "" set PHPBIN=D:\PROGRAM\Inet\Design\php\php.exe
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
GOTO RUN
:USE_PEAR_PATH
set PHPBIN=%PHP_PEAR_PHP_BIN%
:RUN
"%PHPBIN%" "D:\PROGRAM\Inet\Design\php\phpcs" %*
This is my PEAR_ENV.reg
which I have imported into Windows Registry
REGEDIT4
[HKEY_CURRENT_USER\Environment]
"PHP_PEAR_SYSCONF_DIR"="D:\\PROGRAM\\Inet\\Design\\php"
"PHP_PEAR_INSTALL_DIR"="D:\\PROGRAM\\Inet\\Design\\php\\pear"
"PHP_PEAR_DOC_DIR"="D:\\PROGRAM\\Inet\\Design\\php\\docs"
"PHP_PEAR_BIN_DIR"="D:\\PROGRAM\\Inet\\Design\\php"
"PHP_PEAR_DATA_DIR"="D:\\PROGRAM\\Inet\\Design\\php\\data"
"PHP_PEAR_PHP_BIN"="D:\\PROGRAM\\Inet\\Design\\php\\php.exe"
"PHP_PEAR_TEST_DIR"="Z:\\Temp\\"
Cannot run program "...\phpcs": CreateProcess error=193, %1 is not a valid Win32-Application
– Sukinphp.exe
is system-wide discoverable? I mean -- will it show the right path if you runwhere php
in terminal (outside of IDE)? – Charioteerphpcs.bat
-- perfect. .BAT file inside calls yourphp.exe
(as it does not know anything about PhpStorm and PHP Interpreters and stuff) ... and right now it looks likephp.exe
is not actually discoverable by OS. You need to put the path to it into systemPATH
variable. That's what error message suggests me... – Charioteerwhere php
it shows me the correct path to the php.exe. When im callingphp *\phpcs.bat
in cmd it will be executed without an error – Sukinidea.log
for possible hints then (Help | Show Log in Explorer
) – Charioteer