Eclipse: Виключіть конкретні пакети під час автоматичного завершення імені класу


100

Під час автоматичного заповнення імені класу в Eclipse, наприклад, якщо ви вводите:

ListITab

З'являється спливаюче меню, яке пропонує вам відповідати імена класів для завершення (які ви можете вибрати мишкою або за допомогою клавіш зі стрілками:

У цьому прикладі я майже напевно хочу, java.util.ListIteratorі я майже ніколи не хочу com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(або нічого іншого з цього пакету).

Цей конкретний клас відображатиметься у списку часто (щоразу, коли я оголошую а ListIterator). Я хотів би мати можливість виключити пакунки з автозаповнення пошукових запитів, так що java.util.ListIteratorце автоматично завершено без необхідності спливаючого меню.

Чи можливо це?


1
О, було б чудово, якби ви могли просто вибрати той, який вам не подобається, і натиснути Видалити, як у деяких інших програмах. Але ні ...
Thorbjørn Ravn Andersen

2
Щойно завершив свою відповідь, щоб вирішити java.awt.Listпитання, яке ви згадуєте в коментарях.
VonC

Відповіді:


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

Ви повинні мати змогу вказати там пакунки, які ви не хочете бачити.

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

Див. Розділ Поради та рекомендації Java

Щоб виключити появу певних типів у довідці щодо вмісту, використовуйте функцію фільтра типу, налаштовану на сторінці Java > Appearance > Type Filtersналаштувань.
Типи, що відповідають одному з цих шаблонів фільтрів, не відображатимуться в діалоговому вікні "Відкрити тип" і не будуть доступні для надання допомоги вмісту, швидкого виправлення та організації імпорту.
Ці шаблони фільтрування не впливають на представлення Провідника пакетів та ієрархії.


finnw (OP) додає в коментарях:

Тепер, як додати до цього списку один клас? Мене не цікавить java.awt.List, але інколи мені хочеться java.awt.Window або java.awt.Dimension. -

"Тип фільтра" насправді заснований на відповідності шаблону класу , тобто якщо ви додасте:

 java.awt.List

цей клас зникне із допоміжних пропозицій щодо вмісту.
Якщо ви знаєте, що всі java.awt.Lxxxкласи не представляють інтересу, можете додати

 java.awt.L*

Усі інші класи з java.awtдосі все ще будуть там для надання вмісту.
З недавнім затемненням (у мене зараз затемнення 3.6Mx, але це також має працювати для 3.5.x), ви не обмежуєтесь лише шаблоном пакунків у фільтрі типу.


4
Він також враховує регістри, і саме тому, коли я спробував "java.awt.list", це не вийшло.
finnw

6
Прикро, що ви не можете просто розставити пріоритети певним класам, а не видаляти їх зі списку ...
Енді,

3
Дякую за відповідь - для цього мені довелося також гугл, хоча я раніше додав їх. Соромно, що хтось справді думає, що це належить до зовнішнього вигляду замість, о, Java-> редактор-> contentAssist ...
RJStanford

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.