Eclipse PDT: как заставить его форматировать массивы PHP, такие как VIM?

Я изо всех сил пытался заставить Eclipse форматировать мои php-массивы, как это делает отступ vim.

Что делает затмение (нажмите CTRL+SHIFT+F)

<?php
$array = array(
'key1' => 'value1',
'key2' => array(
'child_key1' => 'child_value1',
'child_key2' => 'child_value2',
),
);

Что делает vim (нажмите клавиши:gg=G)

<?php
$array = array(
  'key1' => 'value1',
  'key2' => array(
    'child_key1' => 'child_value1',
    'child_key2' => 'child_value2',
    ),  
  );  

Я пробовал искать в «Настройки»> «PHP»> «Стиль кода»> «Формат и настройки»> «PHP»> «Редактор»> «Шаблоны», но ничего не нашел.
Заранее спасибо.
Кехан


person Kehan    schedule 29.10.2009    source источник


Ответы (5)


Для Eclipse PDT Luna 4.4: Выберите меню Window \ Preferences. Выберите PHP \ Code Style \ Formatter.
Создайте новый Active profile, затем нажмите кнопку Edit.

введите здесь описание изображения

На вкладке Indentation выберите Default indentation for array initializers Вы должны выбрать значение 1 (однако значение по умолчанию 2).

введите здесь описание изображения


(после нажатия Ctrl+Shift+F ) и результат будет таким:

введите здесь описание изображения

person Do Nhu Vy    schedule 27.03.2015

Проверьте этот проект. Поместите файл jar в папку eclipse/dropins, а затем перейдите в настройки/php/code style/formatter. У него есть отличная опция «Выровнять => положение столбца в массиве» в разделе «Разное» (щелкните стрелку на вкладке параметров, чтобы развернуть), которая делает что-то похожее на то, что вы хотите. Используйте Ctrl-Shift-F для форматирования всего файла или щелкните правой кнопкой мыши выделенный фрагмент и проверьте параметры «Источник->Формат...».

http://de.sourceforge.jp/projects/pdt-tools/releases/?package_id=8764

person Dave Meybohm    schedule 05.10.2010
comment
Вы можете проголосовать за добавление этой функции в PDT @ bugs.eclipse.org /bugs/show_bug.cgi?id=320130 - person dkinzer; 25.10.2010
comment
Проект мертв, где я могу найти эту банку прямо сейчас? - person deadalnix; 12.10.2011
comment
У меня остался оригинальный jar, я добавил его на свой гитхаб. Я сделал несколько небольших изменений, чтобы соответствовать стандартам кодирования на моей работе. Вы также можете загрузить исходную версию из каталога bin: github.com/dmeybohm/Eclipse-PHP. -Формат - person Dave Meybohm; 04.11.2011

Хм, похоже, это все еще проблема с PDT. См. вопрос, связанный со стеком< /а>.

Он предлагает нажать вкладку на первом возврате каретки, а остальные должны следовать за отступом после этого. Что касается CTRL+SHIFT+F, это перезапишет любое ручное форматирование, которое у вас есть.

Я не знаю, использовали ли вы раньше Aptana Studio (с подключаемым модулем PHP), но эта IDE основан на eclipse и может иметь нужные параметры форматирования, удачи :)

person Phill Pafford    schedule 29.10.2009
comment
Спасибо за это - проблема в том, что я использую CTRL+SHIFT+F все время. Я пытаюсь aptana (снова) опубликовать отзыв здесь. С уважением, К. - person Kehan; 29.10.2009

Я использую форматтер PDT в течение нескольких месяцев, и пока он отлично справляется со своей задачей.

Мне пришлось переустановить Indigo после того, как мне не удалось запустить полнофункциональную сборку разработчика 4.3 M5a. Вот как я это сделал:

  • Установленный Индиго (Классический)
  • Добавлено http://download.eclipse.org/tools/pdt/updates/release на доступные сайты программного обеспечения и установленный PDT
  • Сохранил zip-файл (ответ Дэйва Мейбома) http://sourceforge.jp/downloads/users/1/1455/pdt_tools.formatter_1.5.0.v20120929.zip/ и добавлен на сайты доступных программ в виде архива и установлен форматтер. В разделе «Настройки» -> «PHP» -> «Стиль кода» -> «Formatter (инструменты PDT)» был доступен для настройки.
person paralaks    schedule 22.02.2013

Посмотрите этот комментарий https://stackoverflow.com/a/19702960/2709131

Не хватало только одного:

Line Wrapping > Expressions > Array initializers > Indentation policy > Indent by one

person pwaterz    schedule 21.06.2017