Отступ php-кода PHPStorm

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

$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,
    ));

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


person Rem Zolotykh    schedule 03.06.2011    source источник
comment
Вы когда-нибудь находили решение для этого?   -  person MartinElvar    schedule 23.07.2014


Ответы (4)


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

person Naty    schedule 02.03.2014
comment
Новое сочетание клавиш — Ctrl + Alt + L, что отлично подходит для пользователей монетного двора. - person Prinsig; 08.12.2015
comment
Это сработало для phpstorm 2016.1 в Windows ☺ Как бы это было в MacOS? - person Pathros; 07.04.2016
comment
На MAC это просто cmd + alt + L - person avn; 18.01.2017
comment
@avn самый удобный - person Hossam Maher; 22.03.2017

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

person CrazyCoder    schedule 03.06.2011
comment
2016 год, а у меня до сих пор эта проблема ???? - person Rafael Bugajewski; 16.03.2016

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

person Hossam Maher    schedule 06.08.2015
comment
Шикарная ссылка :) - person Merlyn007; 04.01.2019

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

«Настройки» > «Редактор» > «Стиль кода» > «PHP» > вкладка «Обтекание и фигурные скобки» > «Аргументы вызова функции/конструктора» > Выровнять, когда многострочный

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

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

Для форматирования как:

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