Was ist die IntelliJ-Verknüpfung zum Erstellen einer lokalen Variablen?


121

In Eclipse, wenn Sie eine Methode haben:

String MyObject.getValue();

Wenn Sie dies verwenden, können Sie gehen:

MyObject.getValue(); 

Wenn sich Ihr Cursor in der Zeile befindet und Sie CTRL+ 1drücken, wird ein Kontextmenü angezeigt, in dem Sie eine neue lokale Variable zuweisen können. Dies führt zu folgenden Ergebnissen:

String value = MyObject.getValue(); 

Können Sie dies in IntelliJ so einfach tun? Ich habe das Netz durchsucht, aber ohne Erfolg.


10
ProTip, wenn Sie sich nicht an eine Tastenkombination erinnern: Wo immer Sie sich im Code befinden, wenn Sie [Strg] + [Umschalt] + [A] ([cmd] + [Umschalt] + [A] auf dem Mac) drücken, wird diese angezeigt eine Liste von Aktionen nach Namen, können Sie die Aktion
Christian García

In Eclipse ist es schneller, "Strg-2 l" (Kleinbuchstabe L) auszuführen.
Duncan Jones

Antworten:


192

Ja! Dies ist das Refactoring von Introduce Variable . Wählen Sie standardmäßig Text aus und drücken Sie dann Ctrl+ Alt+ V(für Mac: + + V). Wenn der Ausdruck unvollständig oder ungültig ist, wird IntelliJ immer noch eine gute Vermutung darüber anstellen, was Sie gemeint haben, und versuchen, ihn für Sie zu beheben.


2
Vielen Dank. Ich habe STRG + ALT + F verwendet, aber dies bot keine "lokale" Option.
JARC

29
Cmd + Alt + v für Mac
Zach Lysobey

Und Sie können Umschalt + Tab drücken, um den Variablentyp auszuwählen. IDEA wird sich für die Zukunft an Ihre Wahl erinnern.
user674158

1
Gibt es eine Möglichkeit, die Variable final über die Tastatur zu deklarieren, ohne auf das Popup zu klicken?
Mathias Bader

1
Ich denke, sobald Sie festgelegt haben, dass die Variable beim ersten Mal endgültig sein soll, wird Ihre Auswahl in Zukunft gespeichert (zumindest in IntelliJ 14).
Jon Onstott

50

IntelliJ 13.1 führte die Postfix-Vervollständigung ein .

Mit Postfix Completion können Sie eine lokale Variable einführen, indem Sie Folgendes eingeben:

MyObject.getValue().var

und drücken ctrl + spaceoder enter.

Es funktioniert sogar in anderen Anweisungen. Beispielsweise:

foo.someMethod(myObject.getValue().var);

11

für Mac-Benutzer: alt + enteran der Position, an der Sie Ihre Variable generieren möchten

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.