Wie kann man in IntelliJ IDEA aus automatisch ausgefüllten Klammern herausgehen (ohne die Pfeiltasten zu verwenden)?

103

Ich habe kürzlich von Eclipse zu IntelliJ IDEA gewechselt und mich gefragt, wie ich den Cursor aus einem Paar automatisch vervollständigter Klammern heraus bewegen kann.

In Eclipse bringt mich das Drücken der Tabulatortaste aus den Klammern, nachdem ich zwei Klammern eingegeben habe. Wie kann ich dasselbe tun, ohne die Pfeiltasten zu verwenden?

Vielen Dank für deine Hilfe!

Marsmensch
quelle
16
Dies ist auch nach dem Wechsel einer der größten Ärger für mich.
Markdsievers
1
Ich dachte, ich wäre die einzige Person, die sich über dieses Problem ärgert, Gott sei Dank gibt es einen Stapelüberlauf! : D
Soorena

Antworten:

88

IDEA hat eine solche Funktion noch nicht. Das nächste Äquivalent ist die Complete Current StatementEditoraktion ( Ctrl+ Shift+ Enter).


AKTUALISIEREN

Erste Implementierung für diese Funktion ist verfügbar in 2018,2 EAP Version - Presse Tabzu springen.

Es funktioniert eher wie in MS Visual Studio - ohne visuelle Anzeige der Tab-Exit-Position. Im Moment sollte es in Java, SQL, Python und einigen anderen Dateien funktionieren. Es wird einige Zeit dauern, bis andere Sprachen aufholen - einige sprachspezifische Codeänderungen sind erforderlich.

Die Funktion ist standardmäßig deaktiviert. Sie können sie in aktivieren

Einstellungen -> Editor -> Allgemein -> Smart Keys -> Mit Tabulator außerhalb der schließenden Klammer / des Anführungszeichens springen

Geben Sie hier die Bildbeschreibung ein

CrazyCoder
quelle
2
Das Problem wurde in Idea Backlog 6984 verschoben , was bedeutet, dass es in naher Zukunft nicht implementiert wird
Paolo Fulgoni
2
Cmd + Shift + Enter auf Mac :)
Bmoran
@PaoloFulgoni Ein Jahr ist vergangen, es ist immer noch aufgelegt.
Honghe.Wu
4
"Die Erstimplementierung für diese Funktion ist in der EAP-Version 2018.2 (gerade veröffentlicht) verfügbar. Sie funktioniert eher wie in MS Visual Studio - ohne visuelle Anzeige der Exit-Position der Registerkarte. Derzeit sollte sie in Java, SQL, Python und einigen anderen Versionen funktionieren andere Dateien. Es wird einige Zeit dauern, bis andere Sprachen aufholen - einige sprachspezifische Codeänderungen sind erforderlich. Die Funktion ist standardmäßig deaktiviert. Sie können sie unter Einstellungen-> Editor-> Allgemein-> Smart Keys-> Springen aktivieren äußere schließende Klammer / Zitat mit Tab. " - Dmitry Batrak, Jet Brains, 16. Mai 2018
Andrew Keeton
2
JETZT ist diese IDE meine sehr, sehr beliebte. NIE WIEDER ANDERES !!!!!!!!!!!!! Vielen Dank, dass Sie JetBrains! Auch dass es so lange gedauert hat, spielt keine Rolle mehr! Ich bin der glücklichste Entwickler aller Zeiten! Ich wollte nur mein Glück mit euch teilen! YAAAY!
Arthur Eirich
11

Ctrl + Shift + Enterscheint in IDEA 12.1.4 nicht für mich zu funktionieren, aber ich fand die Funktion, die meiner Suche am nächsten kam Shift + Enter. Dies vervollständigt die Zeile, erstellt eine neue Zeile unterhalb der aktuellen Zeile und bewegt den Cursor darauf.

dspies
quelle
8

Sie können dies tun, indem Sie auf das Schließsymbol drücken, das Sie sonst gedrückt hätten, das jedoch automatisch abgeschlossen wurde. Wenn Sie beispielsweise gerade das folgende f eingegeben haben, drücken Sie die Umschalttaste und 0 (oder schließen Sie die Klammer ), und der Cursor wird außerhalb der Klammer bewegt.

String asdf = "hello world";
System.out.println(asdf);
user2350459
quelle
8
Irgendwie lustig. Besiegt den Zweck ein wenig.
Sonicblis
6

Ich ging zu Einstellungen-> Keymap und stellte eine Verknüpfung für "Verschieben von Caret zum Zeilenende" auf Shift-Space ein. Es bringt mich zum Ende der aktuellen Zeile, in der ich mich befinde, ohne etwas hinzuzufügen, wenn Sie dies möchten.

Kartesisches Theater
quelle
2

Es ist nicht ganz das, wonach Sie suchen, aber Sie können den Charakter eingeben, außerhalb dessen Sie sich bewegen möchten (z. B. einen schließenden Paren), und das sollte Sie außerhalb des automatisch vervollständigten Charakters platzieren.

Nicht ideal, aber funktionell, soweit ich es getestet habe.

Murphy Randle
quelle
2

Ich habe folgende Einstellungen vorgenommen:

1) Ich habe eine Semikolon- Verknüpfung zur vollständigen aktuellen Anweisung hinzugefügt :

Geben Sie hier die Bildbeschreibung ein

Anstatt den for- Schleifenbefehl zu verwenden, verwende ich den fori- Befehl (da der for- Befehl ein Semikolonzeichen benötigt):

Geben Sie hier die Bildbeschreibung ein

2) Ich habe die Tastenkombination Alt + Semikolon hinzugefügt, um Caret zum Ende des Codeblocks zu verschieben :

Geben Sie hier die Bildbeschreibung ein

Wenn ich mich also in der Schleife befinde , springe ich durch Drücken von Alt + Semikolon , das Ende der Klammer springt, durch Drücken von Semikolon anschließend aus der Klammer.

Durch Hinzufügen dieser Verknüpfungen wird die Codierungsgeschwindigkeit erhöht.

Gadolf
quelle
2

Ein solcher Schlüssel heißt "Ende".

Sie können der Aktion "Caret an Zeilenende verschieben" unter "Einstellungen / Einstellungen | Keymap" eine beliebige nicht verwendete Verknüpfung zuweisen.

PS Sie können Ctrl+ Shift+ verwenden Enter, um Ihre Anweisung zu vervollständigen (in Ihrem Fall wird Caret am Ende der Zeile platziert und dort ";" hinzugefügt) - Aktion mit der Bezeichnung "Aktuelle Anweisung vervollständigen" und Verknüpfung können in derselben überprüft / geändert werden Weg wie zuvor beschrieben.

Violine
quelle
0

Wenn Sie sich entscheiden, zu Eclipse zurückzukehren und PyDev zu verwenden, ist diese Funktion standardmäßig deaktiviert. Wechseln Sie zuerst zu PyDev Perspective. Sie können sie aktivieren, indem Sie unter Einstellungen> PyDev> Editor> Eingabe> Link zum automatischen Schließen von Klammern oder Literalen aktivieren klicken

Terefe
quelle