如何使用PHP CodeSniffer设置我的首选缩进级别?

时间:2012-03-10 21:02:22

标签: php codesniffer

我不想忽略缩进级别。

我想强制执行非默认的特定缩进级别,4。

显然这是可能的:

enter image description here

如何?

关于这些东西的文件似乎在逃避我。

1 个答案:

答案 0 :(得分:5)

显然,一种方法是:创建一个新的“Standard”,创建一个新的ruleset.xml,然后在该ruleset.xml文件中插入一个设置该属性的XML节。

例如,(我在Windows上,所以我的反斜杠都是反斜杠而不是反斜杠)

  

cd \ dev \ phpcs \ CodeSniffer
  mkdir NewStandard

在该目录中,创建ruleset.xml,其中包含:

<?xml version="1.0"?>
<ruleset name="Custom Standard">
  <description>My custom coding standard</description>
  <rule ref="PEAR">
    <exclude name="PEAR.Commenting.ClassComment"/>
    <exclude name="PEAR.Commenting.FileComment"/>
    <exclude name="PEAR.Commenting.FunctionComment"/>
    <exclude name="PEAR.Commenting.InlineComment"/>
    <exclude name="PEAR.Classes.ClassDeclaration"/>
    <exclude name="Generic.Files.LineEndings"/>
  </rule>

  <rule ref="PEAR.WhiteSpace.ScopeIndent">
    <properties>
      <property name="indent" value="2"/>
    </properties>
  </rule>

</ruleset>

xml文件中的最后一节设置适当的属性。

要做到这一点,你必须知道

A)缩进嗅(规则)是PEAR.WhiteSpace.ScopeIndent

B)该嗅探的属性称为indent

然后像往常一样正常运行phpcs:

\php\php.exe phpcs\scripts\phpcs --standard=NewStandard --report=emacs MyCode.php

文档:

http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php