Proper indentation in array initialization, PDT/Zend Studio

眉间皱痕 提交于 2019-12-23 09:26:03

问题


I'm using the following style of array initialization in the code:

$a = array(
    'one' => 123,
    'two' => 456
);

But PDT/Zend Studio doesn't work properly in this case; after pressing [Return] key it places cursor under the $a (in my example) and ignores indentation. If array keys are numbers (at least not start with quotation marks) everything is working fine.

This is how it works currently (| — is a position where edtitor places caret after pressing [Return])

$a = array(
    'one' => 123,[RETURN]
|
);

This is expected result:

$a = array(
    'one' => 123,[RETURN]
    |
);

So is it possible to force editor follow my indentation rules?


回答1:


I had recently exactly the same issue. I solved it in the Zend Studio (Eclipse based IDE) by going to

Preferences -> PHP -> Code Style -> Formatter

and then choose edit on the screen next to the fortmatter preset name. In the opened window go to the Line Wrapping tab and in the list choose

Expressions -> Array Initializers.

Play with the settings to your likings.

Regards

Lukas




回答2:


I suggest you to create a account in the bugzilla tracklist, and voting for the following feature:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=320130

If there is enough people, they probably integrate such functionalities in further version of PDT.




回答3:


In ZendStudio you can apply the PhpCodeFormatter using Ctrl+Shift+F.

The formatter can be configured in window->preferences->PHP->Code Style->Formatter (Zend Studio 7.0) to Reformat arrays as described above.

PDT, (as far as i know) does not have this function.




回答4:


I'm not sure about Eclipse, but I had the same problem in TextMate. I switched to soft tabs (aka 4 spaces) instead of tabs and it now acts as "expected." Does ZendStudio have that option?




回答5:


@MGriesbach:Actually PDT(Eclipse) does have this function (under Source->Format)

@Sergei: Eclipse doesn't have this problem, but this sounds like something is wrong with your config. Are you sure you looked through all the options? You may also send an email to the Zend team, this sounds like a pretty trivial bug on heir side, as it encourages developers to write code not indented correctly.

-- edit--

My bad, Eclipse PDT does have this problem but i just got used to it:) The problem dissapears if i press tab, so it will indent the first line. The other lines will follow correctly.




回答6:


No, that's Eclipse bug.

I've faced it using ALL the Eclipse text editors (SQL, XML, YML, ShellEd, and o on).

However, it happens only to my Eclipse installation for Linux (Kubuntu Karmic) on x86_64. I've tested it on i386 Karmic at my work and it works fine.




回答7:


Try

Window->Preferences
PHP->Code Style->Formatter
Indentation->Dafault Indentation for array initializers = 1



来源:https://stackoverflow.com/questions/1338957/proper-indentation-in-array-initialization-pdt-zend-studio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!