2012-04-14 3 views
2

私はすべての私のPHPコードを2でインデントされているので、本当に素晴らしいツールではありません4PHP、インデント幅4、CodeSniffer:は事実上の標準で「4」ですか?

PHPのCodeSnifferは、「4」のインデントを持って質問hereを求めてきましたし、それはあなたができないようですその値を変更します。

Php CodeSnifferには多くのオプションがあります。このため、「インデント幅」を追加するのは簡単です。しかし、作成者はの自発的なを避けている可能性があります(これは不思議なIMHOです)。

これを変更できない場合は、「インデント幅= 4」がデファクトスタンダードですか?

これはJava/JavaDoc生成と同じですか?

私の10.000 +ラインすべてを4インデンション幅に変更する必要がありますか?

答えて

6

を傍受ですべてのパブリックメンバーvarがruleset.xmlファイルを使用して上書きすることができます。 ruleset.xmlファイルは、独自のカスタムコーディング標準のXML表現です。含まれている標準のいずれかからスニッフィングをインポートすることもできますし、独自のカスタムスニフを含めることもできます。

あなたの場合、正確なPEAR標準が必要ですが、インデント値が変更されています。だから、ファイルmystandard.xmlを作成し、この内容にする:今すぐ

<?xml version="1.0"?> 
<ruleset name="MyStandard"> 
<description>My custom PEAR coding standard.</description> 
<rule ref="PEAR"/> 
<rule ref="PEAR.WhiteSpace.ScopeIndent"> 
    <properties> 
    <property name="indent" value="2"/> 
    </properties> 
</rule> 
</ruleset> 

、代わりにあなたがphpcs --standard=/path/to/mystandard.xml ...

注意を使用phpcs --standard=PEAR ...コマンドを使用してPHP_CodeSnifferのを実行しているのあなたが望む標準のものを呼び出し、XMLメタデータを変更することができます(名前と説明)をより適切なものに変換します。

カスタムruleset.xmlファイルを使用すると、さらに多くのことができます。カスタムルールセットの詳細については、こちらをご覧ください。http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php

0

PHP CodeSnifferには、インデントを定義するルールを作成できるはずのルールがあります。 4はちょうど2のような値です。だからうまくいくはずです。おそらくオプションとしてではなく、あなたがあなたの標準を定義するときの中にあります。

2

PHP_CodeSniffer\CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\ScopeIndentSniff.phpで見つかったものはpublic $indent = 4;です。

この値を変更したいだけかもしれません。

+0

これは適切な解決策です。私はPEARが本当に素晴らしい標準であることを見いだして、私の標準全体を再定義したくなかった。 –

+1

@OlivierPons:その標準から拡張し、値を変更します。 – hakre

2

いいえデファクトスタンダードではありません。インデントの基準はありません。

--sniffsを使用してルールを選択できます - manualを参照してください。あなたはインデントテストをする必要はありません。

PHP CodeSnifferがあれば、コード標準でインデントスタイルを定義することができます。しかし、ドキュメントにそれについての言及はありません。ここで説明するように

また、独自のルールを記述することができますhttp://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php

+0

リンクをありがとう、私が自分のルールを作りたいと思ったら、いつかそれをチェックします。 –

関連する問題