2012-08-06 5 views
16

Ich habe ein paar Probleme mit Eclipse.Eclipse hat einige Probleme mit Auto Import statische Klassen

Wenn ich etwas wie anyMap() in meinem Quellcode verwende, und drücke dann CTRL + SHIFT + O, wird kein Update in der Importliste durchgeführt.
Wenn ich etwas wie schreiben: import static org.mockito.Matchers.* in meine Importe, ist die anyMap() dann bekannt.
Wenn drücken dann CTRL + SHIFT + O, weil ich einige andere Klassen importieren musste, wird die import static org.mockito.Matchers.* von import static org.mockito.Matchers.anyMap

ersetzt werden, wenn ich dann anyList() verwenden wollen, muss ich wieder import static org.mockito.Matchers.* von Hand den Import schreiben.

Ich kenne dieses Thema Can Eclipse the Organize Import (ctrl+shift+o) command's handling of static imports be modified? und die Lösung funktioniert gut, aber gibt es auch eine Möglichkeit, so dass Eclipse automatisch die statischen Klassen, die ich verwenden möchte, kennt?

Antwort

36

Ja, das ist möglich .. diese Frage sehen:

Eclipse Optimize Imports to Include Static Imports

Überprüfen Sie die Lieblings Präferenz Abschnitt:
Fenster »Einstellungen» Java »Editor» Inhaltshilfe »Favoriten

Click 'Neuer Typ' und fügen Sie org.mockito.Matchers wie folgt hinzu:

Add a New Type

Sobald Sie das tun, sollten Sie den entsprechenden Eintrag haben dort etwa so:

Entry Appears

Danach, wenn Sie anyM im Code eingeben und Strg + Leertaste sehen Sie, dass die statische sehen Methode ist einer der Content-Assist-Vorschläge. Wenn Sie sich entscheiden, dass, wird der entsprechende Import automatisch hinzugefügt:

Proposal

Wenn Sie etwas eingeben, die nichts anderes als die statisch übereinstimmt, wird der Import automatisch hinzugefügt werden. Zum Beispiel, wenn Sie anyMap und eingegeben haben dann gedrückt Strg + Leertaste der Import wird direkt hinzugefügt.

+0

eine kurze Frage noch einmal: es funktioniert perfekt für Autovervollständigung - aber es funktioniert immer noch nicht durch Drücken von 'STRG + o' – Joerg

+1

' Strg + o' ist eine Ressource im Arbeitsbereich zu öffnen. Meintest du "Strg + Shift + o" um Importe zu organisieren? –

+0

Entschuldigung, ja ich meine 'STRG + SHIFT + O' - es importiert nicht die statischen Klassen, es wird nur durch Autokomplettierung importieren – Joerg