Eclipse Optymalizuje importowanie, aby uwzględnić import statyczny


411

Czy istnieje możliwość, aby Eclipse automatycznie szukał importu statycznego? Na przykład teraz, kiedy w końcu uaktualniłem do Junit 4, chciałbym móc napisać:

assertEquals(expectedValue, actualValue);

naciśnij Ctrl+ Shift+ Oi dodaj Eclipse:

import static org.junit.Assert.assertEquals;

Może za dużo pytam.

Odpowiedzi:


572

Korzystam z Eclipse Europa, która ma również sekcję Ulubionych:

Okno> Preferencje> Java> Edytor> Content Assist> Ulubione

W moim posiadam następujące wpisy (podczas dodawania użyj „Nowy typ” i pomiń .*):

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*

Wszystkie oprócz trzeciej stanowią import statyczny. Mając je jako ulubione, po wpisaniu „ assertT” i naciśnięciu Ctrl+Space , Eclipse wyświetli się assertThatjako sugestia, a jeśli go wybiorę, doda odpowiedni import statyczny do pliku.


26
Ach - sztuczka polega na tym, aby po prostu dodać org.junit.Assertprzez New Type..., .*wtedy jest domyślna.
KomodoDave,

5
Czy to prawda, że ​​automatyczny import Ctrl+Shift+onie doda niezbędnego importu, a tak naprawdę musisz najechać kursorem i wybrać Add static import..opcję? Szkoda, że ​​nie wyświetla się zwykłe okno dialogowe listy automatycznych importów.
KomodoDave,

2
@ J.Stoever - Jeśli używasz JUnit 4, będziesz chciał użyć formularza Hamcrest:assertThat(value, is(expected));
David Harkness

2
Próbowałem tego z Eclipse Kepler, ale bezskutecznie. Zrestartowałem również Eclipse. Brak autouzupełniania, brak statycznego wyboru importu podczas przeglądania lub naciskania klawiszy CTRL + 1. Czy ktoś tego doświadczył?
Magnilex,

2
Intellij Idea obsługuje to po wyjęciu z pudełka. Wstyd zaćmienie nie.
Neeraj,

242

Jeśli podświetlisz metodę Assert.assertEquals(val1, val2)i naciśniesz Ctrl+ Shift+ M(Dodaj import), doda ją jako import statyczny, przynajmniej w Eclipse 3.4.


11
cmd-shift-M na komputerze Mac
Joshua Goldberg

15
W Eclipse Juno Udało mi tylko, aby to działało gdybym podświetlić tylko metodę, a następnie użyj SHIFT + CTRL + M.
ktulinho

5
To powinien być zwycięzca!
Clint Eastwood

Działa również dla pól statycznych AX -> X (wysoko AX i Ctrl + Shift + M). Dzięki. Dokładnie to, czego chciałem.
Eyad Ebrahim

5
Działa dla mnie na Lunie. Upewnij się, że kursor znajduje się po prawej stronie kropki. Chciałbym dowiedzieć się o tym lata temu!
HDave

31

Eclipse 3.4 ma sekcję Ulubione pod Window-> Preferencje-> Java-> Editor-> Content Assist

Jeśli używasz org.junit.Assertdużo, możesz znaleźć wartość dodaną tam.


21

Nie do końca to, czego chciałem, ale znalazłem obejście. W Eclipse 3.4 (Ganymede) przejdź do

Window-> Preferencje-> Java-> Editor-> Content Assist

i zaznacz pole wyboru Użyj importów statycznych (tylko 1,5 lub więcej) .

Nie spowoduje to importu przy optymalizacji importu, ale jeśli zrobisz szybką poprawkę ( CTRL+ 1) w linii, da ci możliwość dodania importu statycznego, który jest wystarczająco dobry.


10

Z pomocy Content dla importów statycznych

Aby uzyskać propozycje pomocy dotyczącej treści dla członków statycznych, skonfiguruj listę ulubionych członków statycznych na stronie Java > Editor > Content Assist > Favoritespreferencji Otwiera stronę preferencji Ulubione .
Na przykład, jeśli dodałeś java.util.Arrays.*lub org.junit.Assert.*do tej listy, wówczas wszystkie statyczne metody tego typu pasujące do przedrostka zakończenia zostaną dodane do listy propozycji.

otwarty Window » Preferences » Java » Editor » Content Assist » Favorites

wprowadź opis zdjęcia tutaj


5

Do testów SpringFramework polecam również dodać poniższe

org.springframework.test.web.servlet.request.MockMvcRequestBuilders
org.springframework.test.web.servlet.request.MockMvcResponseBuilders
org.springframework.test.web.servlet.result.MockMvcResultHandlers
org.springframework.test.web.servlet.result.MockMvcResultMatchers
org.springframework.test.web.servlet.setup.MockMvcBuilders
org.mockito.Mockito

Gdy dodasz powyżej jako nowy typ, automatycznie doda. * Do pakietu.



2

Wybierz stałą, wpisz

Ctrl + 1  (quick fix)

Wybierz „Konwertuj na import statyczny”. z listy rozwijanej.

„Szybka poprawka” ma opcje, nawet jeśli nie jest to błąd.


1

W Eclipse 4.9 można statycznie importować istniejące wywołania za pomocą szybkiej poprawki.

Wdrożono nową szybką poprawkę, która pozwala użytkownikowi konwertować dostęp do pól statycznych i metody statyczne w celu użycia importu statycznego. Możliwe jest również zastąpienie wszystkich wystąpień jednocześnie.

Więcej informacji tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.