Отступ php-кода PHPStorm - PullRequest
17 голосов
/ 03 июня 2011

Мне нужно, чтобы эти куски кода были правильно вставлены, например:

$this->render('rights', array(
    'admin' => $admin,
    'editor' => $editor,
    'author' => $author,
));

и фрагмент виджета:

<?php $this->widget('zii.widgets.CMenu', array(
    'items' => array(
        array('label' => 'label', 'url' => 'url')
    )
)); ?>

С настройками PHPStorm по умолчанию он вставляет этот код следующим образом:

$this->render('rights', array(
                             'admin' => $admin,
                             'editor' => $editor,
                             'author' => $author,
                        ));

Я зашел в Настройки-> Стиль кода-> Обтекание и фигурные скобки и изменил следующие параметры:

  • Инициализатор массива -> Выровнять при множественном (снять отметку)
  • Аргументы вызова метода -> Выровнять при множественном (снять отметку)

Результат:

$this->render('rights', array(
        'admin' => $admin,
        'editor' => $editor,
        'author' => $author,
    ));

Все еще не тот стиль, который я хочу, но это все, что мне удалось сделать. Не могли бы вы указать мне вариант, который мне нужно изменить?

Ответы [ 4 ]

23 голосов
/ 02 марта 2014

Попробуйте выбрать весь код и нажать: Ctrl + Alt + I
Это ярлык с автоматическим отступом ...

7 голосов
/ 03 июня 2011

Кажется, это известная проблема . Пожалуйста, смотрите / голосуйте или добавьте свои комментарии там.

3 голосов
/ 07 августа 2015

Я думаю, что это поможет вам в форматировании вашего кода https://laracasts.com/series/how-to-be-awesome-in-phpstorm/episodes/8

1 голос
/ 13 марта 2018

Я обнаружил, что снятие отметки со следующего параметра решает проблему для меня:

Параметры> Редактор> Стиль кода> PHP> Закладка «Перенос и фигурные скобки»> Аргументы вызова функции / конструктора> Выравнивание при многострочном

Это меняет следующий код:

var $numbers = $this->thing(array(
                                "one",
                                "two",
                                "three",
                                "four",
                                "five",
                                "six"
                            ));

Форматируется как:

var $numbers = $this->thing(array(
    "one",
    "two",
    "three",
    "four",
    "five",
    "six"
));
...