0

在声纳测试期间,我只想更改一些规则,所以我从

http://docs.codehaus.org/display/SONAR/Extend+PHP+coding+rules

并更改规则

scopeIndentIncorrect 并且它有效。因为他们给出了我改变的参数。

但现在我想改变

FunctionCallSignatureIndent 并希望为此传递参数

我所做的每一个结果都会导致创建一个新插件,那么还有其他方法吗?

<rule key="PEAR.Functions.FunctionCallSignature.Indent" priority="MAJOR">
<category name="Maintainability"/>
<name>CustomFunctionCallSignatureIndent</name>
<configKey>FUNCTION_CALL_SIGNATURE_INDENT</configKey>
<description><![CDATA[Multi-line function call not indented correctly; expected %s spaces but found %s]]></description>
<param>
  <key>indent</key>
  <description>The number of spaces code should be indented.</description>
  <defaultValue>4</defaultValue>
</param>

这是我在 rules.xml 中所做的条目

4

1 回答 1

1

不,您不需要为此编写声纳插件。你只需要:

  1. 在 FunctionCallSignatureIndent 中进行更改
  2. 添加一条新规则,如http://docs.codehaus.org/display/SONAR/Extend+PHP+coding+rules中所述
  3. 对于这个新规则,添加一个 "" 标记,就像您在http://docs.codehaus.org/display/SONAR/Extend+PHP+coding+rules的 PHPMD 示例中看到的那样

然后,在重新启动 Sonar 后,您应该可以在 Sonar Web UI 中自定义此规则。

于 2012-05-24T10:39:43.643 回答