Eclipse: Schließen Sie bestimmte Pakete aus, wenn Sie einen Klassennamen automatisch vervollständigen

100

Wenn Sie einen Klassennamen in Eclipse automatisch vervollständigen, z. B. wenn Sie Folgendes eingeben:

ListITab

Ein Popup-Menü mit passenden Klassennamen zur Vervollständigung wird angezeigt (die Sie mit der Maus oder mit den Pfeiltasten auswählen können:

In diesem Beispiel möchte ich mit ziemlicher Sicherheit java.util.ListIteratorund ich möchte fast nie com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator(oder irgendetwas anderes aus diesem Paket).

Diese bestimmte Klasse wird häufig in der Liste angezeigt (jedes Mal, wenn ich a deklariere ListIterator). Ich möchte Pakete von der Suche nach automatischer Vervollständigung ausschließen können, damit sie java.util.ListIteratorautomatisch vervollständigt werden, ohne dass ein Popup-Menü erforderlich ist.

Ist das möglich?

finnw
quelle
1
Oh, es wäre großartig, wenn Sie einfach die auswählen könnten, die Ihnen nicht gefällt, und wie in einigen anderen Programmen die Entf-Taste drücken könnten. Aber nein ...
Thorbjørn Ravn Andersen
2
Ich habe gerade meine Antwort ausgefüllt, um die java.awt.ListFrage zu beantworten, die Sie in den Kommentaren erwähnt haben.
VonC

Antworten:

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

Sie sollten dort die Pakete angeben können, die Sie nicht sehen möchten.

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

Siehe Java-Tipps und Tricks

Verwenden Sie die auf der Java > Appearance > Type FiltersEinstellungsseite konfigurierte Typfilterfunktion, um bestimmte Typen von der Anzeige in der Inhaltshilfe auszuschließen .
Typen, die mit einem dieser Filtermuster übereinstimmen, werden im Dialogfeld "Typ öffnen" nicht angezeigt und stehen nicht zur Unterstützung von Inhalten, zur schnellen Korrektur und zum Organisieren von Importen zur Verfügung.
Diese Filtermuster wirken sich nicht auf die Ansichten "Paket-Explorer" und "Hierarchie" aus.


finnw (das OP) fügt in den Kommentaren hinzu:

Wie fügt man dieser Liste eine einzelne Klasse hinzu? Ich bin nicht an java.awt.List interessiert, aber gelegentlich möchte ich java.awt.Window oder java.awt.Dimension. - -

"Typfilter" basiert tatsächlich auf dem Klassenmusterabgleich , dh wenn Sie Folgendes hinzufügen:

 java.awt.List

Diese Klasse wird aus den Inhaltsunterstützungsvorschlägen verschwinden.
Wenn Sie wissen, dass alle java.awt.LxxxKlassen nicht von Interesse sind, können Sie hinzufügen

 java.awt.L*

Alle anderen Klassen von java.awtwären noch für die Inhaltsunterstützung da.
Mit einer aktuellen Eclipse (ich habe jetzt eine Eklipse 3.6Mx, aber dies sollte für 3.5.x auch funktionieren), sind Sie nicht darauf beschränken Paket Muster nur in der Art Filter.

VonC
quelle
4
Es unterscheidet auch zwischen Groß- und Kleinschreibung, weshalb es nicht funktioniert hat, als ich "java.awt.list" ausprobiert habe.
Finnw
6
Es ist eine Schande, dass Sie bestimmte Klassen nicht einfach priorisieren können, anstatt sie von der Liste zu entfernen ...
Andy
3
Vielen Dank für die Antwort - ich musste auch dafür googeln, obwohl ich zuvor einige hinzugefügt hatte. Es ist eine Schande, dass jemand wirklich denkt, dass dies in das Erscheinungsbild gehört, anstatt, oh, Java-> Editor-> ContentAssist ...
RJStanford
51
Window->Preferences->Java->Appearance->Type Filters
Jonathan Feinberg
quelle