下面的答案很好,但是对于那些需要更庞大,更美味的东西的人们,我给出了更广阔的视野cake
:
RefactoringStatus status = new RefactoringStatus(); IWorkspace workspace = ResourcesPlugin.getWorkspace(); IWorkspaceRoot root = workspace.getRoot(); IProject[] projects = root.getProjects();
然后:
for (ICompilationUnit unit : mypackage.getCompilationUnits()) { IType primary = unit.findPrimaryType(); IMethod[] methods = primary.getMethods(); int i = 1; for (IMethod method : methods) { if (method.isConstructor()) { continue; } makeChangetoMethods(status, method,"changedMethodVersion_" + i); ++i; }}之后:
IProgressMonitor monitor = new NullProgressMonitor();status = new RefactoringStatus();Refactoring refactoring = performMethodsRefactoring(status, methodToRename, newName);
然后:
Change change = refactoring.createChange(monitor);change.perform(monitor);
在下面找到用于设置的代码descriptor
:
String id = IJavaRefactorings.RENAME_METHOD;RefactoringContribution contrib = RefactoringCore.getRefactoringContribution(id);RenameJavaElementDescriptor desc = contrib.createDescriptor();desc.setUpdateReferences(true);desc.setJavaElement(methodToRename);desc.setNewName(newName);desc.createRefactoring(status);



