从选择现有代码块Eclipse创建一个新方法

时间:2009-11-26 10:46:44

标签: eclipse refactoring methods

我正在使用 Eclipse 3.something ,并想知道是否可以通过选择代码块来创建新方法?显然,方法的签名将包含必要的现有引用,并且我们不能从方法返回多个变量。

我有各种方法,其中与表示相关的代码与与逻辑相关的代码混合在一起。 TY

2 个答案:

答案 0 :(得分:8)

Source

  

重构是Extract Method   ( Alt - Shift - m )和Extract Local   可变(替代 - - )。

但我收到错误消息:

  

并非所有选定的语句都包含在同一个父语句中。

  

选择的开头包含不属于语句的字符。

因此,如原始问题中所述,需要进行一些进一步的重构。

答案 1 :(得分:2)

注意:在即将推出的Helios(eclipse3.6)中,提取方法is enhanced(“是”,因为它自2009年9月起在M1版本中可用):

  

Extract Method重构现在处理包含continue语句的选择。为了保留现有代码的语义,选择需要包括循环的最后一个语句。在提取的方法中,continue语句被更改为返回:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/images/extract-method-continue.png

  

对于在提取的方法中需要多个返回值的选择,Eclipse现在会在错误消息中列出冲突的变量:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6-201006080911/images/extract-method-multiple-return-values.png