我经常首先通过在我正在处理的类中创建一个内部类来重构代码——完成后,我将整个内容移动到一个新的类文件中。这使得将代码重构到新类中变得非常容易,因为A)我只处理单个文件,B)我不会创建新文件,直到我对名称有一个很好的了解(有时它最终会结束)作为多个类)。

Eclipse 有什么办法可以帮助我完成最后一步吗?我应该能够告诉它我想要该类在哪个包中,它可以从类名中找出文件名,并从包中找出目录。

这似乎是一个微不足道的重构,而且非常明显,但我无法弄清楚击键/手势/任何使其发生的方法。我尝试过拖动、菜单、上下文菜单和浏览键盘快捷键。

有人知道这个吗?

[编辑] 这些已经是该文件中的“顶级”类,而不是内部类,并且“移动”似乎不想为我创建一个新类。这是我通常采用的一种艰难的方式——包括出去,创建一个空的类,然后回来并移动。我想一步完成整个事情。

有帮助吗?

解决方案

很抱歉我之前给出了错误的答案。我又检查了一遍,并没有达到你想要的效果。不过,我确实在 3.4 中再次为您找到了解决方案。

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

将成员类型转换为顶级不太有效。这样做将创建外部类的一个字段,并生成一个以外部类作为参数的构造函数。

其他提示

在 Eclipse 3.6 中,您可以执行以下操作:重构 -> 将类型移动到新文件

右键单击类名称(在源代码中)并选择“重构”->“将成员类型转换为顶级”。但它不允许您选择包。

对于 IntelliJ IDEA / Android Studio:重构 -> 移动 -> 将内部类 MyInnerClass 移动到上层

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

  1. 将成员类型转换为顶级

  2. 移动

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top