我已经安装了SonarQube™和PHP Plugin。
我想添加一个新的CodeSniffer规则,就像在http://docs.codehaus.org/display/SONAR/PHP+Custom+Coding+Rules中指出的那样。
但是,我找不到包含现有规则(PEAR、Squiz、Generic...)的“标准”存储库的位置。因此,我不知道必须在哪里添加与声纳设置中定义的xml规则相对应的新文件。
也许我遗漏了一些东西,但我查看了PHP插件中的每个文件夹,都没有找到这个"Standard“文件夹。我甚至从插件的.jar文件中提取了内容,甚至查看了磁盘的其余部分,以防代码嗅探器存储库在其他地方。
你能帮我吗?
谢谢。
发布于 2014-02-06 00:16:24
标准文件夹属于PHP_CodeSniffer,而不是SonorCube。它位于PHP_Codesniffer安装中(这取决于您在计算机上安装PHP_CodeSniffer的方式)。如果找到了标准文件夹,则位于以下位置
PHP_CodeSniffer/CodeSniffer/Standards/我的猜测是,您希望在SonarCube中执行规则。我不知道SonarCube,但我确信您需要在某个地方配置到PHP_CodeSniffer的路径。之后,它就像文档中所说的那样:
<?xml version="1.0" encoding="UTF-8"?>
<rules>
<rule key="PEAR.Commenting.FileComment.TagIndent" priority="MAJOR">
<!-- name, configKey, description are mandatory -->
<name>Tag comment incorrectly indented</name>
<configKey>TAG_INDENT</configKey>
<description>@category tag comment incorrectly indented</description>
</rule>
<rule key="...>
...
</rule>
</rules>通过以下方式:
PEAR Commenting FileComment TagIndent
<standard_folder>.<sniff_subfolder>.<sniff_file_without_sniff_suffix>.<error_name>要走的路是:
rules PHP_Codesniffer
发布于 2014-07-15 23:06:36
我来晚了,但最新的声纳现在使用了自己的规则引擎,所以不再依赖CodeSniffer。对我来说,这意味着我不能再在声纳上运行我的Symfony2代码标准检查器,很遗憾……
发布于 2014-03-04 17:49:07
从此处获取规则(PSR1、PSR2或您自己的):http://docs.codehaus.org/display/SONAR/PHP+Custom+Coding+Rules
中所述
与SonarQube 4.1.1配合使用效果良好
https://stackoverflow.com/questions/21579710
复制相似问题