Jak włączyć kod automatycznego formatowania dla Intellij IDEA?


129

Czy jest to możliwe w Intellij IDEA po wpisaniu ';' lub naciśnij „Enter”, czy formatowanie tego ciągu?

Na przykład, aby:

a+b=10;

po:

a + b = 10;

Czy tylko możliwa opcja: Kod> Sformatuj kod ... ?

Dziękuję Ci!


1
Alt+ c+r
Gayan Weerakutti,

jeśli chcesz, aby ta funkcja została uwzględniona w samym IntelliJ (nie w żadnej wtyczce), zagłosuj tutaj: youtrack.jetbrains.net/issue/IDEABKL-5806
Line,

Odpowiedzi:


181

Skróty formatowania w Intellij IDEA to:

  • W systemie Windows: Ctrl+ Alt+L
  • W przypadku Ubuntu: Ctrl+ Alt+ Windows+ L
  • W przypadku komputerów Mac: ⌥ (Option)+ ⌘ (Command)+L

88
Tak, ale chciałbym, aby stało się to automatycznie bez naciskania klawisza skrótu.
0x131313

Makro? ctrl + alt + l staje się ctrl + alt + l + enter
Jeff

17
Pytanie wyraźnie określa „automatyczne formatowanie” po zapisaniu każdego wiersza.
bokan

2
@axelrod czy istnieje sposób, aby zrobić to automatycznie podczas zapisywania lub kompilowania kodu
Kasun Siyambalapitiya

3
To nie odpowiada na pytanie. Odpowiedź udzielona przez Nafiur Rahman Khadem tak.
Dakatine

22

Znalazłem na to dwa sposoby:

  1. Idź do Settings> Keymap.W prawej części przejdź do Editor Actions> complete current statement.Kliknij na to i wybierz dodaj skrót klawiaturowy. Naciśnij ; i wybierz ok.

  2. Użyj makra. Iść do

Edit> Macros> Start Macro Recording.

Teraz naciśnij średnik i skrót klawiaturowy, aby ponownie sformatować kod (skrót klawiaturowy można znaleźć w innych odpowiedziach lub w ustawieniach> mapa klawiszy).

Po ponownym sformatowaniu przejdź do

Edit> Macros> Stop Macro Recording

Zapisz makro pod nazwą (format automatyczny lub coś innego). Następnie idź do

Settings> Keymap> Macros> auto format (nazwa makra).

Kliknij tam i wybierz dodaj skrót klawiaturowy, a następnie naciśnij średnik i kliknij OK. Teraz za każdym razem, gdy naciśniesz średnik, zapisze średnik i automatycznie formatuje.


Miły. Dodałem również Shift+[użycie pierwszej metody do formatowania linii podczas pisania ifinstrukcji i metod i tym podobnych. Jednak z jakiegoś powodu Enterwydawało się, że nie działa.
Matt

1
To było bardzo pomocne, to dziwne, że Intellij w ogóle nie ma opcji automatycznego formatowania
Teedeez


7

Domyślnym jest Ctrl+ Alt+. L Istnieje okno dialogowe mapowania klawiszy, w którym można skonfigurować / nadpisać wszystkie skróty klawiaturowe.

Przejdź do Plik-> Ustawienia-> Mapa klawiszy

wprowadź opis obrazu tutaj


7

Plik-> Ustawienia -> Mapa klawiszy-> Uzupełnij bieżącą instrukcję

Dodałem ;tam klucz. Podczas wpisywania ';' na końcu wiersza jest to formatowanie automatyczne.

AKTUALIZACJA

Zdałem sobie sprawę, że w niektórych sytuacjach spowoduje to pewne problemy. Zamiast tego użyj Ctrl+ Shift+ Enter. Ten klawisz może być używany w dowolnej pozycji kursora w linii. Doda ;na końcu linii. Ten skrót ma również inne przydatne funkcje.

lubić:

public void someMethod()

po skrócie:

public void someMethod() {
    // The cursor is here
}

więc formatowanie przy wstawianiu ;nie jest konieczne.


Mądry, ale nie dla Kotlina
jobbert

6

Można to również osiągnąć za pomocą Ctrl + WindowsBtn + Alt + L. Będzie to ważne dla niektórych osób, ponieważ w niektórych maszynach wirtualnych Ctrl + Alt + L może Cię wylogować.



3

Żadne z rozwiązań w Intellij nie jest tak eleganckie (ani użyteczne) jak w Eclipse. To, czego potrzebujemy, to żądanie funkcji do intellij, abyśmy mogli dodać podpięcie (jakie akcje wykonać), gdy IDE automatycznie zapisuje.

W Eclipse możemy dodać akcje „po zapisaniu”, takie jak organizowanie importu i formatowanie klasy. Tak, musisz zrobić "save" lub ctrl-s, ale haczyk jest bardzo wygodny.


1
czy jest jakikolwiek kontakt z intellijem w sprawie htis? Jeśli tak, prześlij link tutaj :)
Ruthi Ruth


3

jeśli chcesz, możesz skorzystać z wtyczki saveActions . Możesz sformatować plik, zoptymalizować import i wiele innych rzeczy, jest naprawdę konfigurowalny i łatwy w konfiguracji.




1

Cóż, to nie jest możliwe, ale w intellij 13, co powiesz na dodanie gestu myszy, coś w rodzaju pojedynczego kliknięcia lewym przyciskiem myszy w celu ponownego sformatowania kodu? Lub jeśli nie używasz dużo myszy, dodaj bardzo prosty skrót klawiszowy, którego używasz przez cały czas (być może „enter”? Nie jestem pewien, czy intellij byłby z tego zadowolony, szczerze mówiąc)


2
Dlaczego głos przeciw? Mówię, że to, czego chcesz, nie jest możliwe i staram się zapewnić jak najbliższą rzecz ..
sakis kaliakoudas

Głos przeciwny można łatwo wyjaśnić: kliknięcie myszą. Dużą zaletą IntelliJ są skróty i to, że nie potrzebujesz często myszy. Jeśli dużo kodujesz, nie chcesz dużo używać myszy, ponieważ posługujesz się klawiaturą szybciej. Istnieje już skrót do formatowania.
Phil

1

Sposób, w jaki zaimplementowałem automatyczne reformowanie jak w Microsoft Visual Studio (nie działa idealnie):

1. Edit > Macros > Start Macro Recording
2. Press continuously: Enter + Ctrl+Alt+I
3. Edit > Macros > Stop Macro Recording (Name it for example ReformatingByEnter)

Teraz musimy wykonać te same czynności, ale dla Ctrl + Alt + L +;

4. Edit > Macros > Start Macro Recording
5. Press continuously: ; + Ctrl+Alt+I
6. Edit > Macros > Stop Macro Recording (Name it for example ReformatingBy;)

Teraz musimy przypisać HotKeys do tych makr:

7. File > Settings > Keymap > press on a gear button > Duplicate...
8. Unfold a macro button (beneath) and by right clicking on two 
ours macros assign HotKeys for them: "Enter" and ";" correspondingly.

Może to być ograniczenie mojej klawiatury, ale wydaje mi się, że mogę nagrywać tylko 3 klawisze na raz.
Matt

1

Wiem, że to pytanie jest dość stare, ale w rzeczywistości istnieje wtyczka Save Actions dla IntelliJ, którą można skonfigurować tak, aby automatycznie formatowała kod.


1

Możesz to zrobić za pomocą wtyczki Save Actions Zapoznaj się z tym artykułem na temat konfiguracji wtyczki.

Wtyczka Save Actions Obsługuje konfigurowalne, podobne do Eclipse, zapisywanie akcji, w tym „optymalizuj import”, „przeformatuj kod”, „przestaw kod”, „kompiluj plik” i kilka szybkich poprawek dla Javy, takich jak „dodaj / usuń 'ten' kwalifikator” itp. Wtyczka wykonuje skonfigurowane akcje, gdy plik jest synchronizowany (lub zapisywany) na dysku.

  1. Zainstaluj wtyczkę
  2. Idź do Ustawienia > Inne ustawienia > Zapisz działania
  3. Zaznacz opcję Aktywuj zapisywanie przy zapisywaniu
  4. Zaznacz opcję Zmień format pliku
  5. Zastosuj> OK

wprowadź opis obrazu tutaj

Wolę jednak klawisze skrótu, na Macu

Aby sformatować kod: Ctrl+ Alt(Option)+L

A dodatkowo robię: Ctrl+ Alt(Option)+ O , To usunie nieużywane importy i sformatuje również listę importu.

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.