Eclipse: Loại trừ các gói cụ thể khi tự động hoàn thành tên lớp


100

Khi tự động điền tên lớp trong Eclipse, ví dụ: nếu bạn nhập:

ListITab

Một menu bật lên xuất hiện cung cấp cho bạn các tên lớp phù hợp để hoàn thành (bạn có thể chọn bằng chuột hoặc bằng cách sử dụng các phím mũi tên:

Trong ví dụ này, tôi gần như chắc chắn muốn java.util.ListIteratorvà tôi gần như không bao giờ muốn com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(hoặc bất cứ thứ gì khác từ gói đó).

Lớp cụ thể này sẽ xuất hiện trong danh sách thường xuyên (mỗi khi tôi khai báo a ListIterator). Tôi muốn có thể loại trừ các gói khỏi các tìm kiếm tự động hoàn thành, để các gói đó java.util.ListIteratorđược tự động hoàn thành mà không cần menu bật lên.

Điều này có khả thi không?


1
Ồ, sẽ thật tuyệt nếu bạn chỉ cần chọn một cái mà bạn không thích và nhấn Delete như trong một số chương trình khác. Nhưng không ...
Thorbjørn Ravn Andersen

2
Vừa hoàn thành câu trả lời của tôi để giải quyết java.awt.Listcâu hỏi bạn đề cập trong các nhận xét.
VonC

Câu trả lời:


144
  Window->Preferences->Java->Appearance->Type Filters

Bạn sẽ có thể chỉ định ở đó các gói bạn không muốn xem.

http://help.eclipse.org/galileo/topic/org.eclipse.jdt.doc.user/tips/images/type-filter.png

Xem Mẹo và Thủ thuật Java

Để loại trừ một số loại nhất định xuất hiện trong hỗ trợ nội dung, hãy sử dụng tính năng bộ lọc loại được định cấu hình trên Java > Appearance > Type Filterstrang tùy chọn.
Các loại khớp với một trong các mẫu bộ lọc này sẽ không xuất hiện trong hộp thoại Loại mở và sẽ không có sẵn để hỗ trợ nội dung, sửa chữa nhanh và tổ chức nhập.
Các mẫu bộ lọc này không ảnh hưởng đến chế độ xem Package Explorer và Hierarchy.


finnw (OP) thêm vào các bình luận:

Bây giờ làm cách nào để bạn thêm một lớp duy nhất vào danh sách này? Tôi không quan tâm đến java.awt.List nhưng đôi khi tôi muốn java.awt.Window hoặc java.awt.Dimension. -

"Bộ lọc loại" thực sự dựa trên đối sánh mẫu lớp , nghĩa là nếu bạn thêm:

 java.awt.List

lớp đó sẽ biến mất khỏi các mệnh đề hỗ trợ nội dung.
Nếu bạn biết tất cả java.awt.Lxxxcác lớp học không được quan tâm, bạn có thể thêm

 java.awt.L*

Tất cả các lớp khác từ java.awtsẽ vẫn ở đó để hỗ trợ nội dung.
Với nhật thực gần đây (ngay bây giờ tôi có nhật thực 3.6Mx, nhưng điều này cũng hoạt động cho 3.5.x), bạn không bị giới hạn ở mẫu gói chỉ trong Bộ lọc loại.


4
Nó cũng phân biệt chữ hoa chữ thường, đó là lý do tại sao khi tôi thử "java.awt.list", nó không hoạt động.
finnw

6
Đó là một sự xấu hổ, bạn có thể không chỉ ưu tiên cho các lớp học nhất định thay vì loại bỏ chúng khỏi danh sách ...
Andy

3
Cảm ơn câu trả lời - Tôi cũng phải google cho điều này mặc dù tôi đã thêm một số trước đó. Một mình khóc xấu hổ rằng ai đó thực sự nghĩ rằng điều này thuộc về Appearance thay vì, oh, Java-> tổng biên tập> ContentAssist ...
RJStanford

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.