Intellij reformat on file save

Pamiętam, że widziałem w IntelliJ lub Eclipse ustawienie formatowania (czyszczenia) plików, gdy są zapisywane. Jak go znaleźć (nie znalazłem go w Ustawieniach)

Author: ripper234, 2009-06-04

10 answers

Proponuję wtyczkę save actions . Obsługuje również optymalizację importu i zmianę kolejności kodu.

Działa dobrze w połączeniu z wtyczką eclipse formatter .

Wyszukaj i aktywuj wtyczkę:

Tutaj wpisz opis obrazka

Konfiguracja:

Tutaj wpisz opis obrazka

Edit: wydaje się, że najnowsza wersja Intellij wtyczka save action jest wyzwalana przez automatyczny Intellij save. To może być dość irytujące, gdy uderzy podczas edycji.

Ten problem z wtyczką github daje podpowiedź do niektórych możliwych rozwiązań:

Https://github.com/dubreuia/intellij-plugin-save-actions/issues/63

Próbowałem przypisać format do Ctrl+S i działało dobrze-zapisywanie odbywa się teraz automatycznie.

 124
Author: Benjamin Peter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-02 15:30:08

To rozwiązanie działało lepiej dla mnie:

  1. Zrób makro (użyłem organizuj Import, Formatuj Kod, Zapisz wszystko)
  2. przypisać mu naciśnięcie klawisza (i overrode Ctrl+S )

Uwaga: będziesz musiał zaznaczyć pole "nie pokazuj ponownie tej wiadomości" za pierwszym razem dla zorganizowanych importów, ale działa to zgodnie z oczekiwaniami po tym.

Krok po kroku dla IntelliJ 10.0:

  1. Code - > " Optymalizuj Import...", Jeśli pojawi się okno dialogowe, zaznacz pole, które mówi "Nie pokazuj więcej tej wiadomości.", a następnie kliknij "Uruchom".
  2. Narzędzia - > "Rozpocznij Nagrywanie Makr"
  3. Code - > " Optymalizuj Import..."
  4. Code - > " Sformatuj Kod..."
  5. File - > "Save all"
  6. Narzędzia - > "Zatrzymaj Nagrywanie Makr"
  7. Nazwij makro (coś w stylu "sformatowany zapisz")
  8. W File -> Settings - > Keymap wybierz makro znajdujące się w menu głównym -> Tools - > "sformatowany zapisz "
  9. Kliknij "Dodaj skrót klawiaturowy", a następnie wykonaj żądane naciśnięcie klawisza. Jeśli Wybierz Ctrl+S podobnie jak ja, zapyta cię co zrobić z poprzednim Ctrl+S Skrót. Usuń to. Zawsze możesz to zmienić później, jeśli chcesz.
  10. Smacznego!

Dla IntelliJ 11, zastąp

Krok 2. z: Edycja - > makra - > "Rozpocznij nagrywanie makr"
Punkt 6. z: Edycja - > makra - > "Zatrzymaj nagrywanie makr"

Wszystko inne pozostaje takie samo.

IntelliJ 12

8. Preferencje zawierają mapę klawiszy ustawienia. Użyj pola wprowadzania, aby filtrować zawartość, jak pokazano na zrzucie ekranu.

Intellij / Preferences / Keymap / Makra

 384
Author: Neil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-20 10:14:27

Poniżej znajduje się odpowiedź Neila zaktualizowana.

IntelliJ 13 Kroków:

  1. Code - > Reformat Code Tutaj wpisz opis obrazka
  2. Edycja - > Makra - > Uruchamianie Nagrywania Makr
  3. Code - > Reformat Code
  4. File - > Save all
  5. Edycja - > Makra - > Zatrzymaj Nagrywanie Makr
  6. Nazwij makro (coś w stylu "sformatowany Zapisz")
  7. File - > Settings - > Keymap
  8. Kliknij prawym przyciskiem myszy na makrze. Dodaj Skrót Klawiaturowy. Ustaw skrót klawiaturowy na Control + S. Tutaj wpisz opis obrazka
  9. IntelliJ poinformuje Cię o konflikcie skrótów klawiszowych. Wybierz "Usuń", aby usunąć inne zadania.
 72
Author: user3858354,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-24 09:08:56

Ustawiłem go na automatyczne czyszczenie przy zameldowaniu, co zwykle mi wystarcza. Jeśli coś jest zbyt brzydkie, po prostu wcisnę Skrót (Ctrl-Alt-L, Return). I widzę, że mają opcję automatycznego formatowania wklejonego kodu, chociaż nigdy tego nie używałem.

 60
Author: William Pietri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-02 22:48:28

Ctrl + Alt + L jest formatem pliku (zawiera dwa poniżej)

Ctrl + Alt + O to optymalizacja importu

Ctrl + Alt + I naprawi wcięcia na konkretnej linii

Zwykle uruchamiam Ctrl + Alt + L kilka razy przed wykonaniem mojej pracy. Wolałbym zrobić czyszczenie / formatowanie na moje polecenie zamiast automatycznie.

 16
Author: joeslice,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-25 10:16:57

Zmieniłem działanie Reformat code... na Ctrl-S , zastępując domyślne Wiązanie dla Save All.

Może to zabrzmieć szalenie na początku, ale IntelliJ wydaje się oszczędzać na praktycznie każdej akcji: uruchamianiu testów, budowaniu projektu, nawet podczas zamykania karty edytora. Mam zwyczaj wciskać Ctrl-S dość często, więc to naprawdę działa całkiem dobrze dla mnie. Z pewnością jest to łatwiejsze do wpisania niż domyślne Wiązanie do formatowania.

 8
Author: cwc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-02 22:47:01

Jeśli rozwijasz się w trybie Flutter, od 5/1/2018 dostępna jest nowa opcja eksperymentalna, która umożliwia formatowanie kodu przy zapisywaniu. Ustawienia

 4
Author: ThinkDigital,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-01 23:50:14

IntellIJ 14 & & 15: gdy sprawdzasz kod w oknie zmian zmian zmian, zaznacz pole wyboru sformatuj kod, a IntelliJ przeformatuje cały kod, który sprawdzasz.

źródło: www.udemy.com/intellij-idea-secrets-double-your-coding-speed-in-2-hours

 3
Author: Alex Richard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-24 21:28:52

Myślałem, że coś takiego jest w IntelliJ, ale nie mogę znaleźć. Jedyne czyszczenie, które ma miejsce przy zapisie, to usunięcie białej spacji na końcach linii. Myślałem, że muszę określić to zachowanie w pewnym momencie, ale nie widzę nic związanego w tym momencie.

 2
Author: PanCrit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-03 20:59:35

Jeśli jest ładniejsza, po prostu użyj File Watcher:

References = > Tools = > File Watchers = > click + to add a new watcher = > Prettier

Https://prettier.io/docs/en/webstorm.html#running-prettier-on-save-using-file-watcher

 0
Author: Julien Malige,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-04 08:29:31