自定义编码标准规则集不适用于PhpStorm中的代码嗅探器

自定义编码标准规则集不适用于PhpStorm中的代码嗅探器,phpstorm,codesniffer,phpcodesniffer,psr-2,Phpstorm,Codesniffer,Phpcodesniffer,Psr 2,我在PhpStorm 2019.2.3中有一个项目,我想使用带有PHP代码嗅探器的自定义编码标准规则集。代码嗅探器按预期工作,当我选择提供的编码标准时,所有嗅探器都会消失。 我将整个/PSR2文件夹复制到/PHP\u CodeSniffer-3.4.2/src/Standards/下,将其命名为PSR2 Custom,并将包含的ruleset.xml编辑为: <?xml version="1.0"?> <ruleset name="PSR2R"> <rule

我在PhpStorm 2019.2.3中有一个项目,我想使用带有PHP代码嗅探器的自定义编码标准规则集。代码嗅探器按预期工作,当我选择提供的编码标准时,所有嗅探器都会消失。

我将整个/PSR2文件夹复制到
/PHP\u CodeSniffer-3.4.2/src/Standards/
下,将其命名为
PSR2 Custom
,并将包含的
ruleset.xml
编辑为:

<?xml version="1.0"?>
<ruleset name="PSR2R">
    <rule ref="PSR2">
    <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine" />
        <exclude name="PSR2.Classes.ClassDeclaration.OpenBraceNewLine" />
    </rule>
    <rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />
</ruleset>

我认为它所做的是,它使用了PSR2编码标准,并排除了两个包含的规则,其灵感来自和

以下是我的设置:

A) 设置>语言和框架>PHP>质量工具:

本地配置,路径为phpcs.bat(PHP_CodeSniffer-3.4.2,手动下载)(as)

B) 设置>编辑器>检查:PHP>质量工具>PHP代码嗅探器验证:

->在“编码标准”下拉列表中选择PSR2:嗅探标记
->在“编码标准”下拉列表中选择PSR2自定义:不再标记嗅探

我在SO上检查了类似的问题,但没有一个对我的问题有帮助。


我不知道我哪里出错了。我的规则集配置有问题吗?谢谢你的帮助

哦,是的,我在PHP代码中还有其他应该检测到的嗅探(排除的代码除外)。你使用的是什么PhpStorm版本?@stþór该死,我忘了,我更新了问题文本,谢谢。很抱歉回复太晚:请更新到2019.3.4并检查它的运行情况。