2009-08-27 15 views
7

Tôi đang sử dụng phong cách sau đây của mảng khởi tạo trong các mã:thụt đầu dòng đúng trong phần khởi tạo mảng, PDT/Zend Studio

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

Nhưng PDT/Zend Studio không hoạt động đúng trong trường hợp này; sau khi nhấn phím [Return], nó đặt con trỏ dưới $ a (trong ví dụ của tôi) và bỏ qua thụt đầu dòng. Nếu các khóa mảng là số (ít nhất là không bắt đầu với dấu ngoặc kép) thì mọi thứ đều hoạt động tốt.

Đây là cách nó hiện đang hoạt động (| - là một vị trí mà edtitor đặt caret sau khi nhấn [Return])

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

Kết quả này được mong đợi:

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

Vậy là nó có thể lực lượng biên tập theo các quy tắc thụt lề của tôi?

+7

+1: Tôi đã có chính xác cùng một vấn đề - tôi Cũng giống như cách bạn làm, và chưa bao giờ tìm được giải pháp :-( –

+0

Chỉ cần một ý tưởng: điều gì sẽ xảy ra nếu bạn bao quanh nó với dấu ngoặc? {$ a = mảng (...);} – Zed

+0

Điều tương tự, không có thụt đầu dòng thích hợp. –

Trả lời

1

Trong ZendStudio bạn có thể áp dụng các PhpCodeFormatter sử dụng Ctrl +phím Shift +F.

Trình định dạng có thể được định cấu hình trong cửa sổ-> tùy chọn-> PHP-> Kiểu mã-> Trình định dạng (Zend Studio 7.0) thành các mảng định dạng lại như mô tả ở trên.

PDT, (theo như tôi biết) không có chức năng này.

0

Tôi không chắc chắn về Eclipse, nhưng tôi đã có cùng một vấn đề trong TextMate. Tôi chuyển sang tab mềm (hay còn gọi là 4 dấu cách) thay vì tab và bây giờ nó hoạt động như "mong đợi". ZendStudio có tùy chọn đó không?

+0

Nó có, nó không hoạt động. –

+0

Kỳ lạ thay, tôi vừa mở Flex Builder (cũng là nhật thực) và thử nghiệm nó và nó hoạt động như mong đợi. Một cái gì đó cụ thể để Zend Studio? Có thể yêu cầu hỗ trợ của họ. – typeoneerror

+0

Dường như một lỗi PHP (ví dụ: PDT và Zend Studio dựa trên PDT). –

0

@MGriesbach: Thực ra PDT (Eclipse) không có chức năng này (dưới Nguồn-> Format)

@Sergei: Eclipse không có vấn đề này, nhưng điều này có vẻ như cái gì là sai với cấu hình của bạn. Bạn có chắc chắn rằng bạn đã xem xét tất cả các tùy chọn? Bạn cũng có thể gửi email đến nhóm Zend, điều này nghe giống như một lỗi khá tầm thường về phía thừa kế, vì nó khuyến khích các nhà phát triển viết mã không thụt lề một cách chính xác.

- edit--

xấu của tôi, Eclipse PDT không có vấn đề này nhưng tôi chỉ quen với nó :) Các dissapears vấn đề nếu tôi bấm tab, vì vậy nó sẽ thụt dòng đầu tiên. Các dòng khác sẽ theo đúng.

0

Không, đó là lỗi Eclipse.

Tôi đã đối mặt với nó bằng cách sử dụng TẤT CẢ các trình soạn thảo văn bản Eclipse (SQL, XML, YML, ShellEd và o on).

Tuy nhiên, nó chỉ xảy ra với bản cài đặt Eclipse của tôi cho Linux (Kubuntu Karmic) trên x86_64. Tôi đã thử nghiệm nó trên i386 Karmic tại nơi làm việc của tôi và nó hoạt động tốt.

1

tôi đề nghị bạn để tạo ra một tài khoản trong tracklist bugzilla, và bỏ phiếu cho các tính năng sau đây:

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

Nếu có đủ người, họ có thể tích hợp các chức năng như trong phiên bản tiếp theo của PDT.

+0

tính năng đẹp, bỏ phiếu của tôi, nhưng tôi không nghĩ rằng nó sẽ được đưa vào bởi vì nó là một trong những tính năng chính của Zend Studio. –

+0

Tôi cũng bỏ phiếu. – dkinzer

3

Gần đây, tôi đã gặp sự cố tương tự. Tôi giải quyết nó trong Zend Studio (Eclipse dựa IDE) bằng cách vào

Preferences -> PHP -> Code Style -> Formatter

và sau đó chọn chỉnh sửa trên màn hình bên cạnh tên fortmatter cài sẵn. Trong cửa sổ đã mở, hãy chuyển đến tab Gói hàng và trong danh sách, hãy chọn

Expressions -> Array Initializers.

Chơi với các cài đặt theo sở thích của bạn.

Trân

Lukas

0

Hãy thử

Window-> Preferences
PHP-> Mã còn phong cách> Formatter
Indentation-> Dafault lõm cho initializers mảng = 1