IntelliJ创建本地变量的快捷键是什么?

138

在Eclipse中,如果你有一个方法:

String MyObject.getValue();

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

MyObject.getValue(); 

如果您的光标在该行上,并且按下 CTRL + 1,则会出现一个上下文菜单,用于“分配新的本地变量”,结果如下:

String value = MyObject.getValue(); 

在IntelliJ中能否像这样轻松地完成?我已经搜索了网络,但没有成功。


10
小提示:如果您忘记一个键盘快捷方式,不管在代码的哪里,只要按下[Ctrl]+[Shift]+[A](Mac上是[cmd]+[Shift]+[A]),就会显示一个带有动作名称的列表,您可以输入想要执行的动作(例如变量),并将其执行。 - Christian García
2
在Eclipse中,使用“Ctrl-2 l”(小写字母L)更快。 - Duncan Jones
3个回答

221

没错!这就是“引入变量”重构。默认情况下,选中一些文本,然后按下Ctrl+Alt+V(Mac电脑为++V)。如果表达式不完整或无效,IntelliJ仍会猜测你的意图并尝试为你修复。


2
谢谢。我之前使用的是CTRL+ALT+F,但它没有提供“本地”选项。 - JARC
而且,你可以按Shift+Tab来选择变量类型,IDEA会记住你的选择以供将来使用。 - user674158
1
有没有可能通过键盘声明变量为final,而不必点击弹出窗口? - Mathias Bader
1
我认为一旦你第一次指定变量为final,它在将来会被记住(至少在IntelliJ 14中是这样)。 - Jon Onstott
@John Feminella:你如何在不使用鼠标的情况下将它设置为“final”?(IntelliJ IDEA 2017.2.1)? - Rudy Vissers
显示剩余3条评论

58

IntelliJ 13.1引入了后缀完成(Postfix completion)

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

MyObject.getValue().var

按下ctrl + spaceenter即可使用。

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

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

14

对于Mac用户: 在想要生成变量的位置按下 alt + enter


这是我的常用方法。你知道有什么方法可以默认使用类型实例吗?我经常需要再次按alt + enter并选择“添加类型注释”。 - JaredEzz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接