创建局部变量的IntelliJ快捷方式是什么?


121

在Eclipse中,如果您有方法:

String MyObject.getValue();

使用此功能时,您可以执行以下操作:

MyObject.getValue(); 

如果光标位于该行上并按CTRL+ ,则将显示1一个上下文菜单以“分配新的本地变量”,结果如下:

String value = MyObject.getValue(); 

您可以在IntelliJ中轻松地做到这一点吗?我在网上搜索,但没有成功。


10
ProTip,如果您不记得键盘快捷键:在代码中的任何位置,如果您按[Ctrl] + [Shift] + [A](在Mac中为[cmd] + [Shift] + [A]),它将显示按名称列出的操作列表,您可以键入要执行的操作(例如变量)并执行它
ChristianGarcía2014年

在Eclipse中,执行“ Ctrl-2 l”(小写L)更快。
邓肯·琼斯

Answers:


192

是的 这是引入变量重构。默认情况下,选择一些文本,然后打Ctrl+ Alt+ V(对于Mac:+ + V)。如果表达式不完整或无效,IntelliJ仍会很好地猜测您的意思并尝试为您修复它。


2
谢谢。我使用的是CTRL + ALT + F,但这没有提供“本地”选项。
JARC 2010年

29
Mac的Cmd + Alt + v
Zach Lysobey 2013年

并且,您可以按Shift + Tab选择变量类型,IDEA会记住您将来的选择。
user674158 2014年

1
是否有可能通过键盘声明变量final,而无需单击弹出窗口?
Mathias Bader

1
我认为,一旦您首次指定变量应为final,便会记住您的选择(至少在IntelliJ 14中)。
乔恩·昂斯托特

50

IntelliJ 13.1引入了Postfix完成

使用Postfix完成,您可以通过输入以下内容来引入局部变量:

MyObject.getValue().var

然后按ctrl + spaceenter

它甚至可以在其他语句中使用。例如:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.