Что такое ярлык IntelliJ для создания локальной переменной?

121

В Eclipse, если у вас есть метод:

String MyObject.getValue();

При использовании этого вы можете:

MyObject.getValue(); 

Если вы наведете курсор на строку и нажмете CTRL+, 1вы получите контекстное меню, чтобы «назначить новую локальную переменную», что приведет к следующему:

String value = MyObject.getValue(); 

Можете ли вы сделать это в IntelliJ так же легко? Я поискал в сети, но безуспешно.

Jarc
источник
10
ProTip, если вы не помните сочетание клавиш: где бы вы ни находились в коде, если вы нажмете [Ctrl] + [Shift] + [A] ([cmd] + [Shift] + [A] на Mac), он покажет список действий по имени, вы можете ввести действие, которое вы хотите выполнить (например, переменная), и выполнить его
Christian García
В Eclipse быстрее выполнять «Ctrl-2 l» ​​(строчная L).
Дункан Джонс

Ответы:

192

Ага! Это рефакторинг « Введение переменных» . По умолчанию выделите текст и нажмите Ctrl+ Alt+ V(для Mac: + + V). Если выражение является неполным или недействительным, IntelliJ все равно хорошо догадывается о том, что вы имели в виду, и попытается исправить это за вас.

Джон Феминелла
источник
2
Спасибо. Я использовал CTRL + ALT + F, но здесь не было «локального» варианта.
JARC
29
Cmd + Alt + v для Mac
Зак Лисоби 08
И вы можете нажать Shift + Tab, чтобы выбрать тип переменной, IDEA запомнит ваш выбор на будущее.
user674158
1
Есть ли возможность объявить переменную final с клавиатуры, не нажимая на всплывающее окно?
Матиас Бадер,
1
Я думаю, что как только вы укажете, что переменная должна быть final в первый раз, ваш выбор запомнится в будущем (по крайней мере, в IntelliJ 14).
Джон Онстотт
50

IntelliJ 13.1 представил завершение Postfix .

С помощью Postfix Completion вы можете ввести локальную переменную, набрав:

MyObject.getValue().var

и нажав ctrl + spaceили enter.

Это работает даже внутри других утверждений. Например:

foo.someMethod(myObject.getValue().var);
Миха
источник
11

для пользователей Mac: alt + enterв том месте, где вы хотите сгенерировать свою переменную

Оливье Ройо
источник