Правило CloseBraceAfterBody из PSR2 не может быть автоматически исправлено из PhpStorm

В своих проектах я применяю PSR-2 правила стиля кода и я использую Codesniffer проверить мой код через Продолжение интеграции.

Я использую PhpStrorm для написания своего кода, а 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()
{
...
}

}

Когда я фиксирую свой код и выполняется Continuous Integration, я получаю следующую ошибку:

----------------------------------------------------------------------
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
----------------------------------------------------------------------

Проблема заключается в пустой строке между закрывающей скобкой класса и закрывающей скобкой функции.

Если на CodeStyle Настройки PhpStrom на вкладке Пустые строки я установил In declarations = 0 последняя пустая строка класса будет удалена, но затем будет удалена и пустая строка между DocBlock $ myVar и $ myVar2, но если я установлю Around Field = 1 тогда пустые строки между DocBlock и переменной останутся там. Но я опять не получаю то, что мне нужно, потому что между $ myVar1 и $ myVar2 будет пустая строка.

Я не нашел способ для PhpStorm получить желаемый результат.

Кто-нибудь знает, есть ли способ?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]