Eclipse有没有分行引入变量的快捷方式?

Does Eclipse have a shortcut to split a line and introduce a variable?

我在敲代码的时候,经常出现代码行变长的情况:

String result = new MyObject(foo, bar).getBaz().getFoo(new Config(new File(f))).get(key).get(0);

我经常手动打断这样的一行,做了两个:

Foo foo = new MyObject(foo, bar).getBaz().getFoo(new Config(new File(f)));
String result = foo.get(key).get(0);

意思是把光标定位在new File(f)))之后,按回车,然后selectString result =部分,从首先到第二行,创建一个新的变量,命名为getter,在第二行的开头和第一行的开头键入它,后者作为赋值,带有声明。很多手工打字,如果你经常做的话就够了。

我一次又一次地想知道是否有帮助,比如键盘快捷键,它为我做了这个:我将光标放在 new File(f))) 之后,按 Ctrl+something 结果就是这两行。我想知道它是否存在的第二个问题是,如果我将光标放在第一行的 Config 上,Ctrl+something 和它将形成这些行:

Config config = new Config(new File(f));
String result = new MyObject(foo, bar).getBaz().getFoo(config).get(key).get(0);

终于找到了。长版:

  • 按照问题中的描述定位光标,按Shift+Alt+L .将出现一个对话框来配置变量名称,是否应替换所有出现的变量或应将变量声明为最终变量。按 Enter 表示您同意设置。

简短版本:

  • 按照问题中的描述定位光标,按Ctrl+1快速修复 菜单将出现(即使没有任何标记为红色或黄色的内容)。 Select 提取到局部变量(或根据需要选择相关选项之一),然后按 Enter

要使第二个示例起作用,光标必须位于要剪切的表达式之后

….getBaz().getFoo(new Config(new File(f))<CURSOR HERE>).get(key).get(0);

new 关键字。