我试图在PhpStorm中使用CodeSniffer。

设置中-> PHP-> CLI解释器
我使用https://windows.php.net/链接到php.exe Im,但也尝试使用Cygwin和XAMPP。

PhpStorm向我展示了正确的PHP版本7.2.5和php.ini

在CodeSniffer配置中,我选择了phpcs.bat
当我点击验证时,我得到了



还添加了所有内容到PATH
我错过了什么?

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

最佳答案

您应该将phpcs.batphpcs放在您的PHP文件夹中-例如d:\program\php\phpcs。 CodeSniffer本身应驻留在d:\program\php\PEAR\PHP\CodeSniffer中-将有一个脚本autoload.php和一个子文件夹src

然后在Settings -> Languages & Frameworks -> PHP -> Code Sniffer中,指定phpcs.bat的路径并对其进行Validate

然后在Settings -> Editor -> Inspections中找到节点PHP Code Sniffer validation并启用它。启用后,您将能够对其进行配置-特别选择编码标准。

PhpStorm无法运行PHP代码CodeSniffer-LMLPHP
PhpStorm无法运行PHP代码CodeSniffer-LMLPHP

这是我的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);

这是我的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" %*

这是我的PEAR_ENV.reg,已导入Windows注册表中
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\\"

10-05 19:00