在Eclipse中重命名包

dig*_*nie 31 java eclipse refactoring

在Eclipse的"Package Explorer"中,假设我有一个这样的包列表:

  • com.dog
  • com.cat
  • com.frog

如果我想将包结构的"com"部分重命名为"animal",那么我可以选择每个包(上面)并执行重构>重命名.

如果我有许多以"com"开头的软件包,那么这个过程可能需要一段时间.是否有一种简单的方法来重命名"com"包名称,而无需在Package Explorer中单独重命名每个包?或者在重命名之前从构建路径中删除这些包?

我试着去"导航器"窗格,它在树形结构中显示文件夹,但我没有给予重命名功能.

Ric*_*ler 55

默认情况下,空包父包隐藏在包浏览器中,如果您在包资源管理中修改过滤器...以取消选中空父包(第二个屏幕截图中的第三个),您将能够看到空包.

包浏览器过滤器

过滤视图http://archive.eclipse.org/eclipse/downloads/drops/R-2.1-200303272130/images/non-shared-project-filter.gif

然后,您可以重命名com包并检查" 重命名子包"选项以强制重命名所有子包.

重命名包http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905/new_noteworthy/images/hierarchical_package_rename.png

然后,当您完成重新应用过滤器以再次隐藏所有这些空包时.

  • 在Android开发它完全破坏androidmanifest.xml每一个单一的时间 (3认同)

Von*_*onC 6

看起来当前的JDT API(Java开发工具,包括包重命名的部分)一次只重命名一个包(而不是子包)

看到:

在重构具有子包的包时,JDT会再次创建子包,而不是仅重命名父包

我们需要一个API IPackageFragment来重命名片段以及所有子包.
实际上,实现将重命名包片段的文件夹,然后更新所有包含的CU(包括子包中的CU)中的包声明

所以它在当时是"按设计"(eclipse 3.5),但会记录增强功能并将其考虑在内.

注意:自2005年以来就注意到"缺乏功能"!

我正在测试新的分层包重命名,并有两个具有相同包结构的源文件夹.要重命名两个包,我必须做两次相同的操作.
获得一个提示并被问及是否应该将包重命名应用于其他源文件夹也是很好的.