Eclipse: Exclua pacotes específicos ao preencher automaticamente um nome de classe

100

Ao preencher automaticamente o nome de uma classe no Eclipse, por exemplo, se você digitar:

ListITab

Um menu pop-up aparece oferecendo nomes de classes correspondentes para conclusão (que você pode selecionar com o mouse ou usando as teclas de seta:

Neste exemplo, quase certamente quero java.util.ListIteratore quase nunca quero com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(ou qualquer outra coisa desse pacote).

Esta classe específica aparecerá na lista com freqüência (sempre que declaro a ListIterator). Eu gostaria de poder excluir pacotes das pesquisas de preenchimento automático, de forma que java.util.ListIteratorseja preenchido automaticamente sem a necessidade de um menu pop-up.

Isso é possível?

Finnw
fonte
1
Oh, seria ótimo se você pudesse apenas selecionar aquele que você não gosta e pressionar Excluir como em alguns outros programas. Mas não ...
Thorbjørn Ravn Andersen,
2
Acabei de completar minha resposta para responder à java.awt.Listpergunta que você mencionou nos comentários.
VonC

Respostas:

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

Você deve ser capaz de especificar os pacotes que não deseja ver.

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

Veja dicas e truques de Java

Para impedir que certos tipos apareçam no assistente de conteúdo, use o recurso de filtro de tipo configurado na Java > Appearance > Type Filterspágina de preferências.
Os tipos que correspondem a um desses padrões de filtro não aparecerão na caixa de diálogo Tipo aberto e não estarão disponíveis para assistente de conteúdo, correção rápida e organização de importações.
Esses padrões de filtro não afetam as visualizações Package Explorer e Hierarquia.


finnw (o OP) adiciona nos comentários:

Agora, como você adiciona uma única classe a esta lista? Não estou interessado em java.awt.List, mas ocasionalmente quero java.awt.Window ou java.awt.Dimension. -

O "filtro de tipo" é realmente baseado na correspondência de padrões de classe , ou seja, se você adicionar:

 java.awt.List

essa classe desaparecerá das proposições do assistente de conteúdo.
Se você sabe que todas as java.awt.Lxxxclasses não têm interesse, você pode adicionar

 java.awt.L*

Todas as outras classes de java.awtainda estariam lá para o assistente de conteúdo.
Com um eclipse recente (eu tenho agora um eclipse 3.6Mx, mas isso deve funcionar para 3.5.x também), você não está limitado ao padrão de pacote apenas no Filtro de Tipo.

VonC
fonte
4
Também faz distinção entre maiúsculas e minúsculas, por isso quando tentei "java.awt.list" não funcionou.
finnw
6
É uma pena que você não possa simplesmente priorizar certas classes em vez de removê-las da lista ...
Andy
3
Obrigado pela resposta - eu também tive que pesquisar isso no Google, embora já tivesse adicionado alguns antes. É uma pena que alguém realmente pense que isso pertence ao Appearance em vez de, oh, Java-> Editor-> ContentAssist ...
RJStanford 01 de
51
Window->Preferences->Java->Appearance->Type Filters
Jonathan Feinberg
fonte