为了账号安全,请及时绑定邮箱和手机立即绑定

哪些重构工具可以重命名 Java 类及其所有类似命名的实例?

哪些重构工具可以重命名 Java 类及其所有类似命名的实例?

白衣非少年 2021-10-20 16:22:49
假设我Orange在 NetBeans Java 项目中有一个类,我想将其重命名为Apple. NetBeans 重命名重构可以毫无困难地处理这个问题。但是,我的项目包含许多Orange名称为 的类的实例orange,导致了很多令人困惑的重构代码:final Apple orange = new Apple();我想所有这些情况-和最好也前缀的像juicyOrange和defaultOrange-重命名为apple,juicyApple等一样重构的一部分。重构当然不应该影响不同类的变量(例如Colour orange应该保持原样),或者在上下文中orange已经存在apple变量的情况。IntelliJ IDEA似乎提供了此功能,但我在 NetBeans 8.2 中找不到它。NetBeans 本身或任何 NetBeans 插件中是否提供或计划此功能?否则,是否有任何独立的 Java 重构工具提供它?
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

IntelliJ IDEA 似乎提供了此功能,但我在 NetBeans 8.2 中找不到它。

您在 Intellij IDEA 中描述的重构功能在 NetBeans 8.2 和 NetBeans 9.0 中都不存在。

NetBeans 本身或任何 NetBeans 插件中是否提供或计划此功能?

我不知道任何添加此功能的计划,也不知道有任何 NetBeans 插件可以满足您的需求。如果您希望将此功能添加到 Apache NetBeans 9.0,请考虑通过错误报告提出增强请求。

也就是说,由Edit > Replace in Projects...提供的功能可能值得考虑作为更粗略的替代方案:

//img1.sycdn.imooc.com//616fd2110001ee1d04350417.jpg

  • 您可以为要搜索的文本提供正则表达式。

  • 可以通过多种方式指定要考虑修改的文件:

    • 当前项目。

    • 选定的项目。

    • 所有打开的项目。

    • 打开文件。

    • 选定的文件。

  • 您还可以为要修改的文件提供一个模式,以进行复杂的选择。例如:

    • 修改项目ABC 中名称中包含“Widget”且文件扩展名为“jsf”的所有文件。

    • 只修改带有“properties”扩展名的打开文件。

当然,这个功能并不复杂,它会盲目地做任何你告诉它的事情。它无法处理Colour orange您描述的场景(除非您确保根据您的文件选择标准排除相关文件)。

否则,是否有任何独立的 Java 重构工具提供它?

推荐软件在这里特别偏离主题,尽管在这里的一些封闭问题中已经提出了这一点。

查看完整回答
反对 回复 2021-10-20
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信