2009-08-27 10 views
7

używam następujące styl inicjalizacji tablicy w kodzie:Właściwa wcięcie w inicjalizacji tablicy, PDT/Zend Studio

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

Ale PDT/Zend Studio nie działa poprawnie w tym przypadku; po naciśnięciu klawisza [Powrót] umieszcza kursor pod $ a (w moim przykładzie) i ignoruje wcięcie. Jeśli klucze tablicy są liczbami (a przynajmniej nie zaczynają się od cudzysłowów), wszystko działa poprawnie.

Jak to działa obecnie (| - Jest to pozycja, w której edtitor umieszcza daszka po naciśnięciu przycisku [Return])

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

to oczekiwany wynik:

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

Więc jest to możliwe edytor force przestrzega moich reguł wcięć?

+7

+1: Mam dokładnie ten sam problem - ja i ndend tak samo jak ty i nigdy nie znalazłeś rozwiązania :-( –

+0

Pomysł: co się stanie, jeśli otoczysz go nawiasami? {$ a = array (...);} – Zed

+0

To samo, bez odpowiedniego wcięcia. –

Odpowiedz

1

W Zend Studio można zastosować PhpCodeFormatter korzystając Ctrl + Shift, + F.

Formater można skonfigurować w oknie-> preferencje-> PHP-> Styl kodu-> Formatter (Zend Studio 7.0), aby sformatować tablice zgodnie z powyższym opisem.

PDT, (o ile wiem) nie ma tej funkcji.

0

Nie jestem pewien o Eclipse, ale miałem ten sam problem w TextMate. Przełączyłem się na miękkie karty (aka 4 spacje) zamiast kart i teraz działa to jako "oczekiwane". Czy ZendStudio ma taką opcję?

+0

To prawda, nie działa. –

+0

O dziwo, właśnie otworzyłem Flex Builder (także Eclipse) i przetestowałem to i działa zgodnie z oczekiwaniami. Coś charakterystycznego dla Zend Studio? Może poproś ich o wsparcie. – typeoneerror

+0

Wygląda na to, że błąd PHP (tj. PDT, a Zend Studio jest oparty na PDT). –

0

@MGriesbach: Właściwie PDT (Eclipse) ma tę funkcję (pod Źródło odwiedzin-> Format)

@Sergei: Eclipse nie ma tego problemu, ale to brzmi jak coś jest nie tak z konfiguracją. Czy na pewno przejrzałeś wszystkie opcje? Możesz również wysłać e-mail do zespołu Zend, brzmi to jak dość banalny błąd po stronie spadkobiercy, ponieważ zachęca on programistów do pisania kodu, który nie jest poprawnie wcięty.

- edit--

Moje złe, Eclipse PDT robi ma tego problemu, ale ja po prostu przyzwyczaiłem się do tego :) Problem znika, gdy naciskam kartę, więc będzie wciąć pierwszy wiersz. Pozostałe linie będą wyglądały poprawnie.

0

Nie, to błąd Eclipse.

Mam do czynienia z nim za pomocą WSZYSTKICH edytorów tekstu Eclipse (SQL, XML, YML, ShellEd i o).

Jednak dzieje się tak tylko w przypadku mojej instalacji Eclipse dla systemu Linux (Kubuntu Karmic) na x86_64. Przetestowałem to na i386 Karmic w mojej pracy i działa dobrze.

1

Proponuję, aby utworzyć konto w tracklistę bugzilla, a głosowanie na następującą funkcję:

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

Jeśli jest wystarczająco dużo ludzi, prawdopodobnie zintegrować te funkcje w kolejnej wersji PDT.

+0

fajna funkcja, zostawiam mój głos, ale nie sądzę, że zostanie uwzględniona, ponieważ jest jedną z głównych funkcji Zend Studio. –

+0

Rzucam również mój głos. – dkinzer

3

Niedawno miałem dokładnie ten sam problem. Rozwiązałem go w Zend Studio (Eclipse IDE oparte), przechodząc do

Preferences -> PHP -> Code Style -> Formatter

a następnie wybierz polecenie Edycja na ekranie obok nazwy fortmatter zaprogramować. W otwartym oknie przejdź do karty Zawijanie wiersza, a na liście wybierz:

Expressions -> Array Initializers.

Graj w ustawienia do własnych upodobań.

Regards

Lukas

0

Spróbuj

window-> Preferencje
PHP-> kod Style-> formatujący
Indentation-> Dafault wcięć inicjalizatorów tablicy = 1