0

私のプロジェクトでは、PSR-2コード スタイリング ルールを適用し、 Codesnifferを使用して、Continues Integration を通じてコードをチェックしています。

PhpStorm を使用してコードを記述します。PhpStorm には、エラーを最小限に抑えるために、コミット前またはコードの記述中にコードを再フォーマットする機能があります。

しかし、次のルールに問題があります。

PSR2.Classes.ClassDeclaration.CloseBraceAfterBody

次のクラスがあるとしましょう。

<?php

namespace MyNamespace;    

class MyClass
{

    public $myVar1;
    public $myVar2;

   /**
    * @var string
    */
    public $myVar;       

   /**
    * This is a test function
    */
    public function myFunction()
    {
    ...
    }

}

コードをコミットして継続的インテグレーションを実行すると、次のエラーが発生します。

----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 183 | ERROR | [x] The closing brace for the class must go on the next
     |       |     line after the body
     |       |     (PSR2.Classes.ClassDeclaration.CloseBraceAfterBody)
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

問題は、クラスの右中括弧と関数の右中括弧の間の空の行です。

タブ空白行の PhpStrom の CodeStyle 設定でIn declarations = 0、クラスの最後の空白行が削除されるように設定すると、$myVar と $myVar2 の DocBlock の間の空白行も削除されますが、設定すると、その間の空白行が削除されますAround Field = 1。 DocBlock と var はそこにとどまりますが、$myVar1 と $myVar2 の間に空の行があるため、必要なものが得られません。

PhpStorm が望ましい結果を得る方法が見つかりませんでした。

誰か方法があるかどうか知っていますか?

4

0 に答える 0