ChatGPT解决这个技术问题 Extra ChatGPT

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

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

String MyObject.getValue();

使用它时,您可以:

MyObject.getValue(); 

如果您的光标在该行上并且您按 CTRL + 1,您将获得一个上下文菜单来“分配一个新的局部变量”,结果如下:

String value = MyObject.getValue(); 

你能在 IntelliJ 中轻松做到这一点吗?我已经搜索了网络但没有成功。

ProTip 如果您不记得键盘快捷键:无论您在代码中的哪个位置,如果您点击 [Ctrl] + [Shift] + [A](在 Mac 中为 [cmd] + [Shift] + [A]),它将显示按名称列出的操作列表,您可以键入要执行的操作(例如变量)并执行它
在 Eclipse 中,执行“Ctrl-2 l”(小写 L)会更快。

s
soshial

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


谢谢。我正在使用 CTRL+ALT+F 但这没有提供“本地”选项。
并且,您可以按 Shift+Tab 选择变量类型,IDEA 会记住您的选择以备将来使用。
是否有可能通过键盘声明变量 final 而无需单击弹出窗口?
我认为一旦你第一次指定变量应该是最终的,你的选择会在未来被记住(至少在 IntelliJ 14 中)。
@John Feminella:你如何在不使用鼠标的情况下让它“最终”? (Intellij IDEA 2017.2.1)?
m
micha

IntelliJ 13.1 引入了 Postfix completion

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

MyObject.getValue().var

并按 ctrl + spaceenter

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

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

O
Olivier Royo

对于 mac 用户:alt + enter 在您要生成变量的位置


这是我的首选方法。您是否知道默认为类型化实例的方法?我经常不得不再次 alt + enter 并选择“添加类型注释”