Eclipse: исключить определенные пакеты при автозаполнении имени класса


100

При автозаполнении имени класса в Eclipse, например, если вы набираете:

ListITab

Появится всплывающее меню, предлагающее совпадающие имена классов для завершения (которые вы можете выбрать с помощью мыши или с помощью клавиш со стрелками:

В этом примере я почти наверняка хочу java.util.ListIteratorи почти никогда не хочу com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(или чего-то еще из этого пакета).

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

Это возможно?


1
О, было бы здорово, если бы вы могли просто выбрать тот, который вам не нравится, и нажать Удалить, как в некоторых других программах. Но нет ...
Турбьёрн Равн Андерсен

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прежнему будут помогать с контентом.
С недавним eclipse (у меня сейчас eclipse 3.6Mx, но это должно работать и для 3.5.x), вы не ограничены шаблоном пакета только в фильтре типов.


4
Он также чувствителен к регистру, поэтому, когда я попробовал "java.awt.list", он не сработал.
finnw

6
Жаль, что вы не можете просто расставить приоритеты для определенных классов вместо того, чтобы удалить их из списка ...
Энди

3
Спасибо за ответ - мне тоже пришлось гуглить для этого, хотя я уже добавил некоторые раньше. Это плачущий позор, что кто-то действительно думает, что это относится к внешнему
виду

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.