Eclipse: esclude pacchetti specifici durante il completamento automatico del nome di una classe


100

Quando si completa automaticamente il nome di una classe in Eclipse, ad esempio se si digita:

ListITab

Viene visualizzato un menu a comparsa che offre la corrispondenza dei nomi delle classi per il completamento (che è possibile selezionare con il mouse o utilizzando i tasti freccia:

In questo esempio, quasi certamente voglio java.util.ListIteratore quasi mai voglio com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(o qualsiasi altra cosa da quel pacchetto).

Questa particolare classe apparirà frequentemente nell'elenco (ogni volta che dichiaro a ListIterator). Vorrei essere in grado di escludere i pacchetti dalle ricerche di completamento automatico, in modo che java.util.ListIteratorvenga completato automaticamente senza la necessità di un menu a comparsa.

È possibile?


1
Oh, sarebbe fantastico se potessi semplicemente selezionare quello che non ti piace e premere Elimina come in altri programmi. Ma no ...
Thorbjørn Ravn Andersen

2
Ho appena completato la mia risposta per rispondere alla java.awt.Listdomanda che hai menzionato nei commenti.
VonC

Risposte:


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

Dovresti essere in grado di specificare lì i pacchetti che non vuoi vedere.

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

Vedi suggerimenti e trucchi Java

Per escludere alcuni tipi dalla visualizzazione nell'assistente ai contenuti, utilizzare la funzione di filtro del tipo configurata nella Java > Appearance > Type Filterspagina delle preferenze.
I tipi che corrispondono a uno di questi modelli di filtro non verranno visualizzati nella finestra di dialogo Tipo aperto e non saranno disponibili per l'assistenza ai contenuti, la correzione rapida e l'organizzazione delle importazioni.
Questi modelli di filtro non influiscono sulle visualizzazioni Esplora pacchetti e Gerarchia.


finnw (l'OP) aggiunge nei commenti:

Ora come si aggiunge una singola classe a questo elenco? Non sono interessato a java.awt.List ma occasionalmente voglio java.awt.Window o java.awt.Dimension. -

Il "filtro di tipo" si basa in realtà sulla corrispondenza del modello di classe , ovvero se aggiungi:

 java.awt.List

quella classe scomparirà dalle proposte di assistenza ai contenuti.
Se sai che tutte le java.awt.Lxxxclassi non interessano, puoi aggiungere

 java.awt.L*

Tutte le altre classi di java.awtsarebbero ancora presenti per l'assistente ai contenuti.
Con un'eclissi recente (in questo momento ho un'eclissi 3.6Mx, ma dovrebbe funzionare anche per 3.5.x), non sei limitato al modello di pacchetto solo nel Type Filter.


4
Fa anche distinzione tra maiuscole e minuscole, motivo per cui quando ho provato "java.awt.list" non ha funzionato.
finnw

6
È un peccato che tu non possa dare la priorità a determinate classi invece di rimuoverle dall'elenco ...
Andy

3
Grazie per la risposta - ho dovuto cercare su Google anche per questo anche se ne avevo aggiunti alcuni prima. È un vero peccato che qualcuno pensi davvero che questo appartenga ad Aspetto invece che, oh, Java-> Editor-> ContentAssist ...
RJStanford

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.