2015-06-06 14 views
17

Bất cứ khi nào tôi đang làm việc trong tệp JSP và tôi nhập ${ để bắt đầu thẻ el (Expression Language), Eclipse sẽ tự động thêm } (với dấu cách trước dấu ngoặc nhọn) sau con trỏ để tôi nhận được ${ } thay vì ${}.Làm cách nào để sửa đổi mẫu mở EL trong Eclipse?

Có mẫu mã trong Tùy chọn mà tôi có thể sửa đổi để thay đổi hành vi này hay không, hoặc vượt quá kiểm soát tùy chọn của người dùng?

Tôi đã đăng ký Tùy chọn: Web: Tệp JSP: Trình chỉnh sửa: Mẫu, nhưng không có mẫu nào trong số đó khớp với nhau. Tôi cũng đã xem xét một số phần khác trong Tùy chọn nhưng không tìm thấy bất kỳ điều gì hứa hẹn.

+1

Không có câu trả lời cho Kepler. http://stackoverflow.com/questions/20106819/get-rid-of-that-silly-space-eclipse-generates-when-you-open-an-el-expression – approxiblue

+0

@ user880772 Cảm ơn bạn đã liên kết; có một câu trả lời gợi ý tắt tự động đóng các thẻ EL, đó là một sự cải tiến ít nhất. –

+1

http://eclipse.dzone.com/news/effective-eclipse-custom-templ – Mero

Trả lời

3

Những gì @Mero cung cấp (xem nhận xét trên câu trả lời ở trên) có thể không phải là câu trả lời chính xác, nhưng việc tạo một mẫu JSP có lẽ là điều gần nhất mà tôi đã tìm thấy.

Một vài lưu ý cho bất cứ ai muốn đi mà tuyến đường:

Tạo một mẫu mới thông qua trình đơn Window-> Preferences, sau đó trong khoan down menu điều hướng đến -Web> JSP Files-> Biên tập viên -> Mẫu. Nhấp vào Mới.

Tên là một phím tắt bạn có thể gõ (giống như cách gõ sysout ctrl+space trong Java là một phím tắt cho System.out.println()). Tôi đề nghị một cái gì đó đơn giản như el. Điều này cho phép bạn nhập e l ctrl-space thay vì $ { ctrl-space để kéo nó lên.

Bối cảnh cho biết khi nào xuất hiện trong nội dung intellisense. Tôi khuyên bạn nên tạo hai mẫu này trong đó có một bối cảnh là Giá trị thuộc tính JSP và một mẫu khác có ngữ cảnh là Tất cả JSP.

Mô tả chỉ là thông tin. Đặt bất cứ điều gì bạn muốn. Tôi tự mình đặt 'EL Script'.

Mẫu là nơi bạn đặt nội dung sẽ được chèn vào. Đặt $${${cursor}} hoặc $${${script}}, tùy thuộc vào tùy chọn. Xem dưới đây để được giải thích về sự khác biệt.

Trong Eclipse Templates ${} là cách bạn đặt các biến trong mẫu, vì vậy để làm cho nó thực sự in ${} bạn phải thoát khỏi $ với một $$ dẫn đến $${}.

Biến xác định trước ${cursor} xác định nơi con trỏ là sau khi IntelliSense thay thế el, vì vậy để có con trỏ xuất hiện ở giữa các dấu ngoặc nhọn bạn muốn làm điều này: $${${cursor}}.

Sử dụng bất kỳ biến nào không được xác định trước (trong trường hợp này là ${script}) sẽ chỉ cần đặt vào biến đó với một hộp xung quanh nó và cho phép bạn nhập vào nó và nhấn enter khi bạn hoàn tất, cho phép bạn di chuyển đến kết thúc của dấu ngoặc nhọn đóng.

Lưu ý: Tôi hiểu rằng đây không phải là câu trả lời thực tế, mà đúng hơn là giải pháp thay thế. Tôi đặt nó ở đây chỉ đơn giản để những người tốt với một workaround có thể biết làm thế nào để đi về làm việc đó.

Sửa

Đối với những người không thích phải gõ ctrl-space, một cách giải quyết có thể có tên bắt đầu với mẫu < từ trên các trang JSP, các < mở IntelliSense, vì vậy ví dụ, bạn có thể có tên là <el hoặc <$.

0

Giải pháp thay thế nhưng không phải là câu trả lời:

Tắt tự động đóng thẻ EL. Bạn nhập ${expression} và nhận ${expression}|, thay vì nhập ${expression và nhận ${expression| }. (| biểu thị vị trí con trỏ)

Xem câu trả lời này, từ khi câu hỏi này cùng được yêu cầu của Eclipse Kepler: https://stackoverflow.com/a/20258401/1021426

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