2012-03-10 1 views
7

私はしたくない無視するインデントレベル。PHP CodeSnifferで、好みのインデントレベルを設定するにはどうしたらいいですか?

私はデフォルトではありません特定のインデントレベルを強制する、4

は、どうやらこれが可能です:

enter image description here

どのように?

この資料のドキュメントは私を逃しているようです。

+2

2 - まあ質問と回答をしました。そして、ええ、docsはそれほど良くないので、とても歓迎します。 – hakre

答えて

4

これは、新しい「標準」を作成し、新しいruleset.xmlを作成し、そのルールセットXMLファイルにプロパティを設定するXMLスタンザを挿入するという方法です。

例えば、(私はWindows上でだので、私のバックスラッシュであるすべてのバックスラッシュではなくフォワードスラッシュ)

CDの\ devの\ phpcs \そのディレクトリ内CodeSniffer
ます。mkdir NewStandard

<?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ファイル内の最後のスタンザは、アプリケーションを設定するruleset.xmlを作成します。 ropriateプロパティ。

はこれを行うには、

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