在eclipse中重命名重构

时间:2010-11-16 00:04:22

标签: java refactoring rename eclipse-plugin

在开发Eclispe插件时,我能够使用以下代码以编程方式重命名类字段。

RenameSupport renameSupport = RenameSupport.create(field, newName, RenameSupport.UPDATE_REFERENCES);
renameSupport.perform(workbench.getShell(), workbench);

但它将更改应用于实际的源文件。无论如何可以预防吗?我只需要内部重命名的代码(用于执行其他一些计算),不得更改实际的源代码。

请建议。

2 个答案:

答案 0 :(得分:0)

您可以将其复制到 File.createTempFile() 的临时文件中,然后重命名临时文件中的代码,如果RenameSupport允许您这样做。如果没有,那么您可以将原件复制到临时文件,并在其他计算完成后将其复制回来。

答案 1 :(得分:0)

首先,创建RefactoringDescriptor的实例。然后,在其上调用createRefactoring以创建Refactoring的实例。您可以通过在createChange对象上调用Refactoring来获取更改对象。 Change对象将告诉您重构将如何更改代码。最后,您可以调用perform对象上的方法Change将其应用于基础文件。

插件org.eclipse.jdt.ui.tests.refactoring包含Eclipse中Java重构的自动单元测试。有关如何以编程方式调用重构的具体示例,请参阅org.eclipse.jdt.ui.tests.refactoring.RefactoringTest

相关问题