0

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

我复制了整个 /PSR2 文件夹/PHP_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 编码标准并排除了两个包含的规则,受phpcs 启发:如何修改 PSR2 以检查大括号与方法是否在同一行?https://github.com/squizlabs/PHP_CodeSniffer/issues/703

这些是我的设置:

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

带有 phpcs.bat 路径的本地配置(PHP_CodeSniffer-3.4.2,手动下载)(如文档所述)

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

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

我在 SO 上检查了类似的问题,但没有一个帮助我解决了我的问题,例如 自定义 PMD 规则集不起作用

我想不通,我哪里出错了。我的规则集配置有问题吗?感谢您的帮助。

4

0 回答 0