Co to jest skrót IntelliJ do tworzenia zmiennej lokalnej?

121

W Eclipse, jeśli masz metodę:

String MyObject.getValue();

Korzystając z tego, możesz:

MyObject.getValue(); 

Jeśli kursor znajduje się na linii i naciśniesz CTRL+ 1, pojawi się menu kontekstowe, aby `` przypisać nową zmienną lokalną '', w wyniku czego:

String value = MyObject.getValue(); 

Czy możesz to zrobić równie łatwo w IntelliJ? Przeszukałem sieć, ale bezskutecznie.

JARC
źródło
10
ProTip, jeśli nie pamiętasz skrótu klawiaturowego: gdziekolwiek jesteś w kodzie, jeśli naciśniesz [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] na Macu), pojawi się lista działań według nazwy, możesz wpisać akcję, którą chcesz wykonać (np. Zmienna) i wykonać ją
Christian García
W Eclipse szybciej jest zrobić "Ctrl-2 l" (mała litera L).
Duncan Jones

Odpowiedzi:

192

Tak! To jest refaktoryzacja „ Wprowadź zmienną” . Domyślnie zaznacz tekst, a następnie naciśnij Ctrl+ Alt+ V(na Macu: + + V). Jeśli wyrażenie jest niekompletne lub nieprawidłowe, IntelliJ nadal zgadnie, co masz na myśli i spróbuje to naprawić.

John Feminella
źródło
2
Dzięki. Używałem CTRL + ALT + F, ale to nie oferowało opcji „lokalnej”.
JARC
29
Cmd + Alt + v dla komputerów Mac
Zach Lysobey
I możesz nacisnąć Shift + Tab, aby wybrać typ zmiennej, IDEA zapamięta Twój wybór na przyszłość.
user674158
1
Czy istnieje możliwość zadeklarowania zmiennej jako ostatecznej za pomocą klawiatury, bez klikania w wyskakujące okienko?
Mathias Bader
1
Myślę, że kiedy już określisz, że zmienna powinna być ostateczna za pierwszym razem, twój wybór zostanie zapamiętany w przyszłości (przynajmniej w IntelliJ 14).
Jon Onstott
50

IntelliJ 13.1 wprowadził uzupełnianie Postfix .

Dzięki funkcji uzupełniania Postfix możesz wprowadzić zmienną lokalną, wpisując:

MyObject.getValue().var

i naciskając ctrl + spacelub enter.

Działa nawet w innych wypowiedziach. Na przykład:

foo.someMethod(myObject.getValue().var);
micha
źródło
11

dla użytkowników komputerów Mac: alt + enterw miejscu, w którym chcesz wygenerować zmienną

Olivier Royo
źródło