10

インデントレベルを無視したくありません。

デフォルトではない特定のインデントレベル4を適用したいと思います。

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

ここに画像の説明を入力してください

どのように?

このようなものに関するドキュメントは私を避けているようです。

4

1 に答える 1

6

どうやらそれを行う1つの方法は、これです。新しい「標準」を作成し、新しいruleset.xmlを作成してから、プロパティを設定するXMLスタンザであるruleset.xmlファイルに挿入します。

たとえば、(私はWindowsを使用しているので、バックスラッシュはすべてバックスラッシュであり、fwdスラッシュではありません)

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

于 2012-03-10T21:35:19.103 に答える