IDEA:“将语句赋给新的局部变量”?

作为一个长期的Eclipse用户,我正在玩IntelliJ IDEA 10。我似乎无法找到如何执行“将语句分配给新的局部变量”代码完成。

功能说明:

我键入类似的东西

new BufferedOutputStream(out)

然后按 + 并输入,Eclipse 会将该行更改为:Cmd (or Ctrl)1

BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);

同时,我可以立即键入“bufferedOutputStream”以重命名它(或者从下拉列表中选择“bufferedOutputStream”,“outputStream”和“stream”选项)。

我绝对将此功能用于每个任务,并且它节省了大量时间 - 这在IDEA中也必须可用 - 但是它隐藏在哪里?


答案 1

重构|引入变量(Windows 上的 ++)。请注意,如果文本是当前行中唯一的文本,则无需选择该文本。然后,您可以像描述的那样以内联方式更改变量名称,然后按键完成编辑。CtrlAltVEnter

另一种方法是使用后缀完成

键入(或仅从列表中选择它)并使用 进行确认。.var.vEnter


答案 2

正如CrazyCoder所提到的,你可以使用++。此外,在使用引入重构时,单击表达式中的某个位置并使用 + 扩展范围非常有用,而不是选择表达式。数据提取重构包括:CtrlAltVCtrlW

  • 提取变量:Ctrl+Alt+V
  • 提取字段:Ctrl+Alt+F
  • 提取方法:Ctrl+Alt+M
  • 提取参数:Ctrl+Alt+P
  • 提取常量:Ctrl+Alt+C

此外,Idea是一个polygot编辑器,因此您可以将这些提取重构用于其他文件类型,如js或html(并非所有重构都适用于所有文件类型,但+主要工作)。CtrlW

还有更多的数据提取重构没有快捷方式,您可以从重构访问这些快捷方式|提取菜单(菜单栏和上下文菜单)。要快速访问所有重构,您可以使用 +++ 作为弹出菜单。CtrlAltShiftT

最后,我强烈建议您使用“每日提示”(帮助|每日提示)。这是学习Idea的许多有用功能的快速方法。


推荐