Wie aktiviere ich den Code für die automatische Formatierung für Intellij IDEA?


129

Ist es in Intellij IDEA möglich, nachdem Sie ';' oder 'Enter' drücken passiert Formatierung dieser Zeichenfolge passiert?

Zum Beispiel zu:

a+b=10;

nach dem:

a + b = 10;

Oder nur mögliche Option: Code> Code neu formatieren ... ?

Danke dir!


1
Alt+ c+r
Gayan Weerakutti

Wenn Sie möchten, dass diese Funktion in IntelliJ selbst enthalten ist (nicht in einem Plugin), stimmen Sie bitte hier ab: youtrack.jetbrains.net/issue/IDEABKL-5806
Zeile

Antworten:


180

Die Formatierungsverknüpfungen in Intellij IDEA sind:

  • Für Windows: Ctrl+ Alt+L
  • Für Ubuntu: Ctrl+ Alt+ Windows+ L
  • Für Mac: ⌥ (Option)+ ⌘ (Command)+L

88
Ja, aber ich möchte, dass dies automatisch geschieht, ohne einen Hotkey zu drücken.
0x131313

Makro? Strg + Alt + L wird zu Strg + Alt + L + Enter
Jeff

17
In der Frage wird ausdrücklich "Auto-Format" angegeben, nachdem jede Zeile geschrieben wurde.
Bokan

2
@axelrod gibt es eine Möglichkeit, dies automatisch zu tun, wenn der Code
gespeichert

3
Das beantwortet die Frage nicht. Die Antwort von Nafiur Rahman Khadem tut es.
Dakatine

22

Ich habe zwei Möglichkeiten gefunden, dies zu tun:

  1. Gehe zu Settings> Keymap.Im rechten Bereich gehe zu Editor Actions> complete current statement.Klicke darauf und wähle Tastaturkürzel hinzufügen. Drücken Sie ; und wählen Sie ok.

  2. Verwenden Sie ein Makro. Gehe zu

Edit> Macros> Start Macro Recording.

Drücken Sie nun Semikolon und Tastenkombination, um den Code neu zu formatieren (die Tastenkombination finden Sie in anderen Antworten oder unter Einstellungen> Tastaturbelegung).

Nach der Neuformatierung gehen Sie zu

Edit> Macros> Stop Macro Recording

Speichern Sie das Makro unter einem Namen (automatisches Format oder etwas anderes). Dann geh zu

Settings> Keymap> Macros> auto format (der Makroname).

Klicken Sie dort und wählen Sie Tastaturkürzel hinzufügen, drücken Sie dann Semikolon und klicken Sie auf OK. Wenn Sie jetzt das Semikolon drücken, wird das Semikolon geschrieben und das automatische Formatieren ausgeführt.


Nett. Ich habe auch Shift+[die erste Methode zum Formatieren der Zeile beim Schreiben von ifAnweisungen und Methoden und dergleichen hinzugefügt . Aus irgendeinem Grund Enterschien es jedoch nicht zu funktionieren.
Matt

1
Dies war sehr hilfreich, es ist seltsam, dass Intellij überhaupt keine Option zur automatischen Neuformatierung hat
Teedeez,


7

Standard ist Ctrl+ Alt+L Es gibt ein Dialogfeld für die Tastenbelegung, in dem Sie alle Tastaturkürzel konfigurieren / überschreiben können.

Navigieren Sie zu Datei-> Einstellungen-> KeyMap

Geben Sie hier die Bildbeschreibung ein


7

Datei-> Einstellungen -> Keymap-> Aktuelle Anweisung vervollständigen

Ich fügte hinzu ; Schlüssel . Bei der Eingabe von ';' Am Ende der Zeile wird automatisch formatiert.

AKTUALISIEREN

Ich erkannte, dass dies in einigen Situationen einige Probleme verursachen wird. Verwenden Sie stattdessen Ctrl+ Shift+ Enter. Diese Taste kann an jeder Position des Cursors in einer Zeile verwendet werden. Es wird hinzugefügt; am Ende der Zeile . Auch diese Verknüpfung hat einige andere nützliche Funktionen.

mögen:

public void someMethod()

nach Abkürzung:

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

Eine Formatierung beim Einfügen ;ist daher nicht erforderlich.


Klug

6

Dies kann auch durch Strg + WindowsBtn + Alt + L erreicht werden. Dies ist für einige Benutzer wichtig, da Sie in einigen virtuellen Maschinen mit Strg + Alt + L abmelden können.



3

Keine der Lösungen in Intellij ist so elegant (oder nützlich) wie in Eclipse. Was wir brauchen, ist eine Funktionsanforderung an den Intellij, damit wir einen Hook hinzufügen können (welche Aktionen ausgeführt werden sollen), wenn die IDE automatisch speichert.

In Eclipse können wir Aktionen nach dem Speichern hinzufügen, z. B. Importe organisieren und die Klasse formatieren. Ja, Sie müssen "speichern" oder Strg-s ausführen, aber der Hook ist sehr praktisch.


1
Gibt es bisher einen Kontakt zu Intellij über dies? Wenn ja, bitte hier einen Link posten :)
Ruthi Ruth

@ RuthiRuth hat es gefunden;) youtrack.jetbrains.net/issue/IDEABKL-5806
Linie

3

Wenn Sie möchten, können Sie ein saveActions- Plugin verwenden. Sie können Dateien neu formatieren, die Importe optimieren und vieles mehr. Sie sind wirklich anpassbar und einfach einzurichten.


2

Auf dem Mac ist es Alt+ Command+ L(vorausgesetzt, Sie haben keine Ihrer Modifikatortasten oder Intellij-Tastaturkürzel aus dem Standardzustand geändert ).



1

Nun, das ist nicht möglich, aber wie wäre es in Intellij 13, wenn Sie eine Mausgeste hinzufügen, so etwas wie einen einzelnen linken Mausklick, um den Code neu zu formatieren? Oder wenn Sie die Maus nicht oft benutzen, fügen Sie einen sehr einfachen Tastatur-Hotkey hinzu, den Sie ständig verwenden (möglicherweise die "Eingabetaste"? Sie sind sich nicht sicher, ob Intellij damit zufrieden wäre, um ehrlich zu sein).


2
Warum das Downvote? Ich sage, dass das, was Sie wollen, nicht möglich ist, und versuche, mit dem nächstmöglichen zu versorgen.
Sakis Kaliakoudas

Die Ablehnung ist leicht zu erklären: Mausklick. Ein großer Vorteil von IntelliJ sind die Verknüpfungen und dass Sie die Maus nicht oft benötigen. Wenn Sie viel codieren, möchten Sie die Maus nicht viel verwenden, da Sie mit der Tastatur schneller sind. Es gibt bereits eine Verknüpfung zum Formatieren.
Phil

1

Die Art und Weise, wie ich die automatische Neuformatierung wie in Microsoft Visual Studio implementiert habe (funktioniert nicht perfekt):

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

Jetzt müssen wir die gleichen Aktionen ausführen, aber für Strg + 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;)

Jetzt müssen wir diesen Makros HotKeys zuweisen:

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.

Könnte eine Einschränkung meiner Tastatur sein, aber ich kann scheinbar nur 3 Tasten gleichzeitig aufnehmen.
Matt

1

Ich weiß, dass diese Frage ziemlich alt ist, aber es gibt tatsächlich ein Plugin zum Speichern von Aktionen für IntelliJ, das so konfiguriert werden kann, dass der Code automatisch formatiert wird.


1

Sie können dies mit dem Plugin "Aktionen speichern" tun. In diesem Artikel erfahren Sie, wie Sie das Plugin konfigurieren.

Plugin zum Speichern von Aktionen Unterstützt konfigurierbare, Eclipse-ähnliche Aktionen zum Speichern, einschließlich "Importe optimieren", "Code neu formatieren", "Code neu anordnen", "Datei kompilieren" und einige schnelle Korrekturen für Java wie "Dieses Qualifikationsmerkmal hinzufügen / entfernen" usw. Das Plugin führt die konfigurierten Aktionen aus, wenn die Datei auf der Festplatte synchronisiert (oder gespeichert) wird.

  1. Installieren Sie das Plugin
  2. Gehen Sie zu Einstellungen > Andere Einstellungen > Aktionen speichern
  3. Tick Aktivieren speichern Aktionen auf Speichern
  4. Kreuzen Sie Datei neu formatieren an
  5. Übernehmen> OK

Geben Sie hier die Bildbeschreibung ein

Ich bevorzuge jedoch die Hotkeys, Für Mac,

So formatieren Sie den Code: Ctrl+ Alt(Option)+L

Und zusätzlich mache ich: Ctrl+ Alt(Option)+ O , dies entfernt nicht verwendete Importe und formatiert auch die Importliste.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.