views:

447

answers:

3

I've been struggling to get Eclipse to format my php arrays like vim indentation does.

What eclipse does (press CTRL+SHIFT+F)

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

What vim does (press keys:gg=G)

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

I've tried looking in Preferences>PHP>Code Style>Formatter and Preferences>PHP>Editor>Templates but haven't found anything.
Thanks in advance.
Kehan

+2  A: 

Hmm looks like this is still a problem with PDT, See stack related question.

It suggests pushing tab on the first carriage return and the rest should follow the indentation after that. As for CTRL+SHIFT+F this will overwrite any manual formatting you have in place.

I don't know if you have used Aptana Studio (with the PHP plug-in) before but this IDE is eclipse based and might have the formatting options you want, Good luck :)

Phill Pafford
Thanks for that - problem is I use CTRL+SHIFT+F _all the time_. I'm trying aptana (again) will post feedback here.Cheers,K
A: 

The only complete configuration of Formater is under Java Code Style.

Windows / Preference / Java / Code Style / Formater edit the profile, in Indentation check the indent statements whitin switch

I don't know if it also affects the Formater of PHP.

Paul
+1  A: 

Check out this project. Put the jar file in your eclipse/dropins folder, and then you can go to preferences/php/code style/formatter. It has a cool "Align => column position in array" option under the "Miscellaneous" section (click the arrow on the options tab to expand) that does something similar to what you want. Use Ctrl-Shift-F to format an entire file, or right-click a selection and checkout the "Source->Format..." options.

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

Dave Meybohm
You can vote to try and get this feature added to PDT @ https://bugs.eclipse.org/bugs/show_bug.cgi?id=320130
DKinzer