2009-08-27 6 views
7

ich die folgende Art von Array-Initialisierung im Code verwendet:Proper Einzug in Feldinitialisierung, PDT/Zend Studio

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

Aber PDT/Zend Studio funktioniert nicht richtig in diesem Fall; nach dem Drücken der [Return] -Taste platziert es den Cursor unter dem $ a (in meinem Beispiel) und ignoriert den Einzug. Wenn Array-Schlüssel Zahlen sind (zumindest nicht mit Anführungszeichen beginnen), funktioniert alles einwandfrei.

Dies ist, wie es zur Zeit arbeitet (| - ist eine Position, wo edtitor caret legt nach dem Drücken von [Return])

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

Dies wird angestrebtes Ergebnis:

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

es also möglich ist, force editor folge meinen Einrückungsregeln? mit Ctrl +Umschalt +F

+7

+1: Ich habe genau das gleiche Problem - ich ich ndend genauso wie du, und hast noch nie eine Lösung gefunden :-( –

+0

Nur eine Idee: was passiert wenn du das mit Klammern umgibst? {$ a = array (...);} – Zed

+0

Das gleiche, keine richtige Einrückung. –

Antwort

1

In Zend Technologies # Zend Studio können Sie die PhpCodeFormatter anwenden.

Der Formatierer kann unter window-> preferences-> PHP-> Code Style-> Formatter (Zend Studio 7.0) konfiguriert werden, um Arrays wie oben beschrieben neu zu formatieren.

PDT, (soweit ich weiß) hat diese Funktion nicht.

0

Ich bin mir nicht sicher über Eclipse, aber ich hatte das gleiche Problem in TextMate. Ich wechselte zu weichen Tabs (aka 4 Leerzeichen) anstelle von Tabs und es fungiert nun als "erwartet". Hat ZendStudio diese Option?

+0

Es hat, es funktioniert nicht. –

+0

Seltsamerweise habe ich gerade den Flex Builder (auch Eclipse) geöffnet und getestet und es funktioniert wie erwartet. Etwas speziell für Zend Studio? Vielleicht bitte ihre Unterstützung. – typeoneerror

+0

Es sieht aus wie ein PHP-Bug (d. H. PDT, und Zend Studio basiert auf PDT). –

0

@MGriesbach: Eigentlich PDT (Eclipse) hat diese Funktion haben (unter Quelle-> Format)

@Sergei Eclipse dieses Problem nicht haben, aber das klingt wie etwas mit der Config falsch ist. Sind Sie sicher, dass Sie alle Optionen durchgesehen haben? Sie können auch eine E-Mail an das Zend-Team senden, das klingt wie ein ziemlich trivialer Bug auf der anderen Seite, da es Entwickler ermutigt, Code zu schreiben, der nicht korrekt eingerückt ist.

- edit--

My bad, Eclipse PDT tut dieses Problem haben, aber ich habe nur verwendet es das Problem verschwindet :) wenn ich Tab drücken, so dass er die erste Zeile einrücken wird. Die anderen Zeilen werden korrekt folgen.

0

Nein, das ist Eclipse Bug.

Ich habe es mit allen Eclipse-Texteditoren konfrontiert (SQL, XML, YML, ShellEd und o auf).

Allerdings passiert es nur mit meiner Eclipse-Installation für Linux (Kubuntu Karmic) auf x86_64. Ich habe es bei i386 Karmic bei meiner Arbeit getestet und es funktioniert gut.

1

Ich schlage vor, Sie ein Konto in der Bugzilla Tracklist zu erstellen, und wählen für das folgende Merkmal:

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

Wenn es genug Menschen, sie wahrscheinlich solche Funktionalitäten in weitere Version der PDT integrieren.

+0

nettes Feature, verließ meine Stimme, aber ich denke nicht, dass es enthalten sein wird, weil es eine der wichtigsten Funktionen von Zend Studio ist. –

+0

Ich habe meine Stimme auch abgegeben. – dkinzer

3

Ich hatte vor kurzem genau das gleiche Problem. Ich löste es im Zend Studio (basierte IDE Eclipse) von

Preferences -> PHP -> Code Style -> Formatter

zu

gehen und dann bearbeiten auf dem Bildschirm wählen neben dem fortmatter voreingestellten Namen. Öffnen Sie im geöffneten Fenster die Registerkarte Zeilenumbruch und wählen Sie in der Liste

Expressions -> Array Initializers.

Spielen Sie mit den Einstellungen nach Ihren Wünschen.

Grüße

Lukas

0

Versuchen

Window-> Preferences
PHP-> Code-Stil-> Formatter
Indentation-> dafault Einrückungen für Array initializers = 1