如何扩展Eclipse的重命名重构,以在完成后触发另一个重构

Cha*_*lie 7 java eclipse refactoring rename ltk

我正在尝试扩展eclipse的重命名重构以调用另一个重命名重构.

public class Person {  
  ...  
}

public class PersonDAO {  
   public List<Person> getPersonByName(String name) {  
     ...  
   }  
}  
Run Code Online (Sandbox Code Playgroud)

将Person类重命名为User后,我希望将方法getPersonByName重命名为getUserByName.

我已经扩展了RenameParticipant并试图通过使用JDT重命名重构和ASTRewrite来实现.

问题是我创建的更改与原始重命名重构更改冲突.
我无法使用postCreateChange(似乎基本处理器只返回null)现在我卡住了.

任何帮助深表感谢.

小智 1

通过重构,无法通过新值“User”更改方法中定义的字符串“Person”。

但是您可以使用Ctrl+H在整个工作区中搜索所需的字符串并将其替换为新值。

在此输入图像描述

当您单击“替换”按钮时,Eclipse 将询问您将替换搜索字符串的新值。