2013-03-01 13 views
5

Tôi đang gặp khó khăn để có được định dạng nhật thực JavaScript của tôi tốt. Trong ví dụ đầu tiên này, nó cư xử như mong đợi (không phải là chiều dài của url giây):Trình định dạng JavaScript của Eclipse điên (ví dụ: quá nhiều đệm)

Behaving good

Bất cứ khi nào tôi có một url lâu hơn, nhật thực toàn phần đi điên định dạng mã của tôi và tôi nhận được extra padding ở khắp mọi nơi, như ví dụ dưới đây:

Behaving bad

Tại sao formatter Javascript cư xử như thế này, và làm thế nào để sửa chữa nó?

(Chỉ trong trường hợp: Tôi đã không được cài đặt bất kỳ plugin formatter, tôi chỉ sử dụng mặc định mà đi kèm với Eclipse Juno)

+0

Không đặt các URL dài ở giữa các chức năng của bạn. Xác định chúng ở đâu đó khác. –

+0

Tôi đã nghĩ về điều đó, nhưng tôi thực sự không muốn có một loạt các biến chuỗi. Tôi biết tôi có thể làm cho một đối tượng JSON, nhưng vẫn còn, một nền tảng lớn như Eclipse không nên hành xử như thế này. – Twinone

+0

Không cần hack! Hãy xem câu trả lời của tôi. –

Trả lời

10

Url dài trong ví dụ ảnh hưởng đến "$ .ajax (..." và "$ (function() ...".

Đối với "$ (function() ...", các cài đặt nằm trong Tùy chọn/JavaScript/Mã Kiểu/Trình định dạng/Dòng Gói/Các cuộc gọi/Đối số Chức năng. 'Không quấn' có sẵn.

Đối với "$ .ajax (...", nó tương tự như 'Đủ điều kiện' trong Java định dạng (Preferences/Java/Mã Phong cách/Formatter/Line Wrapping/Chức năng cuộc gọi) Thật không may, JSDT không có giao diện người dùng cho điều này (Preferences/JavaScript/Mã Phong cách/Formatter/Line Wrapping/Chức năng gọi)

Đây là một mẹo dành cho JSD T 1.4.1 (WTP R3.4.1).

  1. Khởi động Eclipse
  2. mở Preferences/JavaScript/Mã Kiểu/Formatter
  3. Nhấp vào 'New'
  4. tên hồ sơ Input như bạn muốn, chọn 'Eclipse [built-in]' (hoặc ước Javascript) trong hộp danh sách, bỏ chọn 'mở hộp thoại chỉnh sửa với doanh nghiệp' (không cần phải chỉnh sửa), và nhấn
  5. sở thích Đóng 'OK' và thoát Eclipse
  6. mở tập tin sau đây với một trình soạn thảo văn bản
    workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.core.prefs
  7. Tìm dòng và thay thế Có 16 để 0
    org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation=16
  8. Lưu nó
  9. Khởi động Eclipse

(kể từ khi bạn có hồ sơ cá nhân của riêng bạn, có lẽ 1-5 là không cần thiết)

Lỗi này sẽ được hoàn nguyên khi bạn chỉnh sửa cài đặt trình định dạng trong tùy chọn. - (Để ngăn ghi đè, tất cả những gì bạn cần làm là xuất hồ sơ định dạng của bạn, chỉnh sửa XML và thay đổi 'org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation' thành 0. Lưu và nhập lại một lần nữa ngay bây giờ. vĩnh viễn.

tôi không nghĩ rằng đây đáp ứng nhu cầu của bạn, nó tốt hơn để sử dụng một số định dạng khác (3 plug in của hãng), tôi đoán.

+0

Không cần hack. [Xem câu trả lời của tôi] (http://stackoverflow.com/a/16187151/636561). –

1

Tôi đã tìm thấy một giải pháp tạm thời:

  1. Đến Window -> Preferences -> JavaScript -> Code Style -> Formatter

  2. Đặt hồ sơ hoạt động thành các quy ước JavaScript.

  3. Bấm Sửa

  4. Trong Indentation tab, thiết lập chỉTab policy-Spaces.

  5. Đặt cả hai Indentation sizeTab size thành .

  6. Vì bạn không thể ghi đè các cấu hình mặc định, hãy thay đổi tên hồ sơ và lưu.

  7. Nhấn Ctrl + phím Shift +F và thưởng thức.

LƯU Ý: tôi không thích có 3 gian, tôi thà thích tốt cũ 4 chỗ của tôi, nhưng đây là một giải pháp tạm thời, cho đến khi ai đó tìm thấy một cách tốt hơn để giải quyết việc này. Tôi chỉ cảm thấy thích chia sẻ.

+0

Có lẽ giải pháp của bạn phụ thuộc vào độ dài của chuỗi. Làm cho chuỗi dài hơn và nó sẽ xảy ra lần nữa. Nó phải làm với lề trang, nếu bạn vượt ra ngoài nó. Tôi sửa lỗi này bằng cách chèn "+" vào giữa các chuỗi ký tự chuỗi dài. Nó là một giải pháp crappy nhưng nó hoạt động. – codefactor

11

vấn đề có thể được giải quyết bằng cách truy cập

Preferences > JavaScript > Code Style > Formatter 

Đây là các bước:

  1. Tạo cấu hình mới (vì bạn không thể chỉnh sửa cấu hình được tích hợp sẵn), nếu bạn chưa có, và bấm Edit....
  2. Mở tab Line Wrapping.
  3. Trong trường Maximum line width, nhập .
  4. Nhấp vào ApplyOk.

Sự cố hiển thị lại cho các dòng mã có hơn 9999 ký tự, nhưng tôi có thể sống với nó.

+0

Thực ra tôi cũng đã thử điều đó, nhưng điều đó thực sự chỉ trì hoãn vấn đề khi bạn có một chuỗi dài 500, sau đó dấu ngoặc đơn sẽ vẫn hoạt động không tốt. – Twinone

+0

Cá nhân tôi thích điều này hơn là hack, mà dù sao đại diện cho giải pháp tạm thời, cho đến khi bạn cần thay đổi cài đặt trình định dạng của mình vì bất kỳ lý do gì. Tôi đã chỉnh sửa câu trả lời của mình để đặt giá trị tối đa mà Eclipse thừa nhận: từ 500 đến 9999. –

+0

Cảm ơn, điều này phù hợp với tôi –

Các vấn đề liên quan