Как заставить переформатировать весь файл в PhpStorm, используя все заявленные правила?
Как я могу заставить PhpStorm переформатировать код, но "с нуля". Вопрос кажется глупым, но я заметил, что если я, например, внесу некоторые изменения вручную, он сохранит эти изменения, даже если это изменение нарушает установленные правила.
Пример:
У меня есть создание объекта с аргументами конструктора (переформатированы):
Но если я вставлю его в Файл-> Настройки-> Редактор-> Кодовый стиль-> Редактор PHP, он будет переформатирован так: Настройки-> Редактор-> Стиль кода->PHP">
Откуда берется разница? Почему инструмент переформатирования игнорирует свои собственные правила? Как я могу заставить его переформатировать правильно?
1 ответ
В примере с окном настроек правое поле, вероятно, намного меньше, чем в вашем реальном проекте. Правое поле для вашего проекта может быть установлено в общих настройках стиля кода.
Если вы зайдете в Файл -> Настройки -> Редактор -> Стиль кода -> PHP -> Обтекание и фигурные скобки, у вас есть четыре варианта для "Artial Intializer":
- Не переносить: не изменит собственное форматирование.
- Wrap if long: обернет элементы массива, если строка станет слишком длинной, но все равно может держать несколько элементов массива вместе в одной строке, если это вписывается в поля.
- Вырубить, если долго: обернет элементы массива, если строка становится слишком длинной. Если элементы обертываются, каждый элемент размещается на отдельной строке.
- Обтекание всегда: всегда помещает каждый элемент массива в отдельную строку, даже если исходная строка была недостаточно длинной.
Вы, вероятно, настроили его обернуть, если долго. Это означает, что он действительно переносится, но несколько элементов массива все равно могут оказаться вместе в одной строке. Пока он помещается на линию, он соответствует стилю кода.
Возможно, вы захотите настроить его на рубку, если долго, а это означает, что если все будет упаковано, у вас всегда будет по одному элементу в строке.