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.


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ć.


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);

11

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

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.