Eclipse可以将类文件中的第二个类提取到其自己的文件中

时间:2020-03-06 14:24:03  来源:igfitidea点击:

我经常首先通过在正在处理的类中创建一个内部类来重构代码-完成后,将整个内容移到新的类文件中。这使得将代码重构到新类中变得非常容易,因为A)我只处理单个文件,B)在我对名称不陌生之前,我不创建新文件(有时最终作为一个以上的课程)。

Eclipse有什么方法可以帮助我完成最后的动作?我应该能够告诉它我想要该类的包,它可以从类名中找出文件名,从包中找出目录。

这似乎是一个微不足道的重构,而且确实很明显,但是我无法弄清楚击键/手势/实现它的方式。我尝试过拖动,菜单,上下文菜单和浏览键盘快捷键。

有人知道这个吗?

[edit]这些已经是此文件中的"顶级"类,而不是内部类,并且"移动"似乎不想为我创建一个新类。这是我通常要做的困难方式-涉及外出,创建一个空类,返回并移动。我想一步完成整个事情。

解决方案

对不起,我之前给错了答案。我重新检查,并没有完全想要我们想要。我还是在3.4中为我们找到了解决方案。

突出显示该类,执行CTRL-C复制或者剪切CTRL-X,单击我们希望该类进入的包,然后粘贴CTRL-V。 Eclipse将自动为我们生成该类。

将会员类型转换为最高级别并不能正常工作。这样做将创建外部类的字段,并生成一个将外部类作为参数的构造函数。

可以通过2种重构来完成:

Convert Member type to top level
  Move

右键单击类名称(在源代码中),然后选择"重构"->"将成员类型转换为顶级"。但是,它不允许我们选择包。