Jak automatycznie optymalizować importowanie po każdym zapisie w IntelliJ IDEA

95

Chcę się dowiedzieć, jak automatycznie optymalizować importowanie po każdym zapisie, tak jak robimy to w Eclipse ( zapisywanie akcji ).

talha06
źródło

Odpowiedzi:

138

IntelliJ IDEA oferuje opcję importu zoptymalizować w locie w Settings| Editor| General| Auto Importi opcję Optymalizuj import w Commit Projectoknie dialogowym.

CrazyCoder
źródło
22
Włączenie tej opcji domyślnie spowoduje wiele różnic w imporcie po zatwierdzeniu, jeśli członkowie zespołu używają różnych IDE, jest to główny powód, dla którego jest ona domyślnie wyłączona.
CrazyCoder
11
@CrazyCoder: można to naprawić, wymagając używania wszystkich importów i mając ustaloną kolejność importu (oba te środowiska mogą łatwo wykonać, więc nie powinno dodawać pracy dla nikogo). Wtedy jedyne różnice w imporcie dotyczą faktycznych zmian importu.
Joachim Sauer
2
@JoachimSauer jak możesz zdefiniować kolejność importów itp. W IntelliJ?
riroo
5
@miss_R W przypadku Javy jest pod Settings| Editor| Code Style| Java| Importskarta | Import Layoutw IntelliJ 2016.3.4. Przypuszczam, że inne języki mają to w swoich odpowiednich ustawieniach. :)
Christian
2
Jeśli zamierzasz to zrobić, prawdopodobnie zechcesz również dodać coś takiego jak Checkstyle do swojej kompilacji i użyć go do wymuszenia stałej kolejności importowania dla twojego projektu.
SamStephens
57

Wspomniana odpowiedź działa, ale w repozytorium wtyczek JetBrains dostępna jest również wtyczka Intellij "zapisywanie działań", która to robi (i nie tylko): Intellij Save Actions Plugin .

Instalacja

Plik> Ustawienia> Wtyczki> Przeglądaj repozytoria ...> Wyszukaj „Zapisz działania”> Kategoria „Narzędzia kodu”

Zrzeczenie się

Jestem programistą wtyczek

Alexandre DuBreuil
źródło
2
Myślę, że opcja importu „optymalizuj w locie” zoptymalizuje się, kiedy importujesz nowe typy i kiedy wklejasz kod, ale nie zmieni istniejących importów, jeśli wyraźnie o to nie poprosisz. Nie ma żadnych „akcji zapisywania”, które można skonfigurować w Intellij.
Alexandre DuBreuil
2
Dzięki za wskazówkę! Okazało się, że jest to znacznie mniej agresywna opcja niż wbudowana funkcja IntelliJ „Optymalizuj import w locie”. Dzięki wbudowanej opcji importowanie często było zamieniane po prostu przez otwarcie pliku; dzięki twojej wtyczce to się nie stanie i nie może się zdarzyć. Bardzo ceniona jest również opcja ponownego formatowania przy zapisywaniu! :) :)
MK10
1
To jest właściwa odpowiedź na optymalizację importu przy zapisywaniu, a nie zaraz po zatwierdzeniu.
Pim Hazebroek
2
@AlexandreDuBreuil Próbuję znaleźć sposób na optymalizację importu bez przewijania do początku pliku. Wiesz cokolwiek o tym?
Delfic
1
@Delfic podobny problem został otwarty na githubie możesz go tam opisać? github.com/dubreuia/intellij-plugin-save-actions/issues/92
Alexandre DuBreuil
11

Pierwszy krok:

CTRL + SHIFT + A or CMD + SHIFT + A (for mac)

Drugi krok:

Szukaj Optymalizuj import

Trzeci krok:

Włącz opcję

wprowadź opis obrazu tutaj

Israel Perales
źródło
5

W wersji „Ultimate 2016.2” jest to:

Plik> Inne ustawienia> Ustawienia domyślne> Automatyczny import> Optymalizuj import w locie

Youness
źródło