IntelliJ: Nigdy nie używaj importowania symboli wieloznacznych


624

Czy istnieje sposób, aby powiedzieć IntelliJ, aby nigdy nie korzystał z importu symboli zastępczych? W „Ustawienia> Styl kodu> Importowanie” widzę, że możesz określić „liczbę klas” przed IntelliJ przy użyciu importowania symboli zastępczych. Jeśli jednak nigdy nie chcę używać importowania symboli zastępczych, czy mogę wyłączyć tę funkcję?

Próbowałem wstawić -1 lub pozostawić pole puste, ale to tylko mówi IntelliJowi, aby zawsze używał importowania symboli zastępczych. Oczywiście niezbyt miłym rozwiązaniem byłoby umieszczenie absurdalnie wysokiej liczby, aby nigdy nie napotkać importowania symboli zastępczych, ale miałem nadzieję, że istnieje lepszy sposób, aby to wyłączyć.

Odpowiedzi:


843

Oczywiste jest, dlaczego chcesz to wyłączyć: Aby zmusić IntelliJ do uwzględnienia każdego importu osobno. Ułatwia to ludziom dokładne określenie, skąd pochodzą używane klasy.

Kliknij ikonę „Klucz” Ustawienia na pasku narzędzi, otwórz „Importowanie” w „Stylu kodu” i zaznacz opcję „Użyj importu pojedynczej klasy”. Możesz także całkowicie usunąć wpisy w „Pakietach, z *którymi chcesz importować ” lub określić wartość progową, która używa „ *” tylko wtedy, gdy poszczególne klasy z pakietu przekroczą ten próg.

Aktualizacja: w IDEA 13 „Użyj importu pojedynczej klasy” nie zapobiega importowi symboli wieloznacznych. Rozwiązaniem jest, aby przejść do Preferences( + ,na MacOS / Ctrl+ Alt+ Sw systemie Windows i Linux) > Editor > Code Style > Java > Imports tabzestaw Class count to use import with '*'i Names count to use static import with '*'na wyższą wartość. Każda wartość powyżej 99 wydaje się działać dobrze.


43
Na wypadek, gdyby to pomogło komuś pomieszać: w moim entuzjazmie, że nigdy nie załamuję się importu, umieściłem nieuzasadniony długi ciąg 9 w polu „liczenia klas do użycia ...”, co spowodowało, że IntelliJ 12 po cichu zignorował wartość. „9999” działa dobrze.
PotataChipz

16
Czy naprawdę nie ma sposobu, aby powiedzieć Intellijowi 15, aby nigdy nie używał importu symboli zastępczych? Mam na myśli bez podawania liczby klas?
Stephen Hartley

2
Dlaczego dodanie liczby klas jest tak uciążliwe? Dlaczego nie poprosić JetBrains o ulepszenie, jeśli jest to tak odrażające?
duffymo

30
Wygląda na to, że trzy dziewiątki powinny wystarczyć. Jeśli potrzebujesz więcej niż tysiąc importów, powiedziałbym, że twoja klasa powinna zostać zrefaktoryzowana.
duffymo

23
Nie mogę uwierzyć, że programy zaprogramowały program dla programistów w taki sposób. To mylące okno dialogowe nie zostało jeszcze naprawione w 2016 r.3, czy jest w nim jakiś błąd, czy gdzieś możemy głosować?
Glenn Bech

322
  1. Plik \ Ustawienia ... ( Ctrl+ Alt+ S)
  2. Ustawienia projektu> Edytor> Styl kodu> Java> karta Importy
  3. Ustaw Licznik klas, aby używał importu z „*” na 999
  4. Ustaw Liczba nazw, aby używać importu statycznego z „*” na 999

Następnie twoja konfiguracja powinna wyglądać następująco: wprowadź opis zdjęcia tutaj

(Na IntelliJ IDEA 13.x, 14.x, 15.x, 2016.x, 2017.x)


39

Jak dum-dum nie mogłem zrozumieć, dlaczego żadna z tych odpowiedzi nie działała dla moich plików Kotlin java.util.*, więc jeśli tak się dzieje, to:

Preferences
> Editor
> Code Style
> **Kotlin**
> Imports
> Packages to Use Import with '*'
-> Remove 'java.util.*'

12
Nie jesteś jedynym dum-dumem na rynku .. / :( :)
Marco


28

Powyższe rozwiązanie nie działało dla mnie. Musiałem ustawić „licznik klas, aby użyć importu z„ * ”na wysoką wartość, np. 999.


6

Jeśli żadna z powyższych opcji nie działa dla Ciebie, warto sprawdzić, czy masz jakieś pakiety w Preferencje> Edytor> Styl kodu> Java> Import> Pakiety do użycia Importuj z „*”


5

Dotyczy to „IntelliJ IDEA-2019.2.4” na Macu.

  1. Przejdź do „IntelliJ IDEA-> Preferencje-> Edytor-> Styl kodu-> Kotlin”.
  2. W sekcji „Pakiety do użycia zaimportuj z” na ekranie pojawi się lista „import java.util.

Przed

  1. Kliknij dowolne miejsce w tym polu i wyczyść ten wpis.
  2. Kliknij Zastosuj i OK.

Po


2

Skrót robiąc to na Macu: Naciśnij klawisze + Shift + A (akcja) i wpisz „licznik klas, aby użyć importu z *” Naciśnij Enter. Wpisz tam wyższą liczbę, np. 999


0

Jeśli nie chcesz zmieniać preferencji, możesz zoptymalizować import, naciskając Ctrl + Opcja + o na Macu lub Ctrl + Alt + o na Windows / Linux, a to zastąpi wszystkie importy pojedynczym importem w bieżącym pliku.


3
IntelliJ domyślnie uważa zwijanie importu za pomocą *.
Mateusz

1
Nie zgadzam się z „nie chcesz zmieniać preferencji”, ale skrót klawiaturowy działał dla mnie!
Grizz,
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.