java - Eclipse 中的重构工具

标签 java eclipse refactoring eclipse-plugin

我的需求非常简单:我想通过在我的整个 Eclipse 项目中调用 objClass2.method2() 来更改方法调用 objClass1.method1()。不幸的是,我找不到能够做到这一点的插件。你能帮忙吗?

编辑:

更准确地说,objClass1 是第三方库的一部分,因此我需要更改方法调用。我无法从方法定义开始。当我右键单击方法 1 调用时,我的“重构”菜单中没有“重命名”选项。

我不想更改或重命名我的方法。我想在我的整个项目中交换一个电话。

需要做的事情的例子:

重构前:

Injector injector=Guice.createInjector(new IContactModule());

重构后:

Injector injector=IContactInjectorSingleton.getInjector();

这需要在我的项目中完成几个点。

最佳答案

您要求的不是重构。重构被定义为“改变代码但不改变代码行为的改变”。从这个意义上说,重命名一个类或重命名一个方法是一种重构(你改变了代码,但程序和以前一样)。但是您的建议不会保留代码的行为,因此永远不会对此进行“重构”。

当然,您可以编写一个插件,以或多或少安全的方式执行您想要的文本更改。但这只会在非常特殊的情况下起作用(如果你的新方法需要一个旧方法不需要的参数怎么办?如果有多个方法具有相同的名称但参数不同怎么办?...)。所以我不相信存在这样的插件,开发这样的插件也没有多大意义。

关于java - Eclipse 中的重构工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549407/

相关文章:

java - 获取应用程序文件路径

java - Eclipse RCP : Get rid of "reset perspective" message

c++ - 您在实践中使用了哪些 C++ 重构?

java - 如何使用不同版本参数重构同一类

java - Maven 构建错误 : Can not set org. apache.maven.shared.filtering.MavenResourcesFiltering 字段

scala - 如何使这段代码更实用

java - 我正在使用 .getRGB() 和 .setRGB() 来获取 BufferedImage 的一部分,如何复制透明度?

java - JScrollpane 不滚动大内容

java - 如何使用计时器移动方 block

eclipse - 更新sts或安装扩展时出现问题