2016-10-03 61 views

回答

0

嘗試右鍵單擊該文件,選擇重構並輸入您所需的文件名。您可能會被要求額外更新引用和類似的變量名稱。檢查他們兩個(推薦)和文件及其所有的引用將被更新

+0

我需要以編程方式進行。我看到有移動方法。但是我在做這件事時得到了一個異常。 –

+0

單擊文件或打開文件(如果是Java文件),請按Alt + Shit + R,現在文件名將被裝箱,現在編輯文件名並按回車鍵以接受更改 – Dineshmohan

+0

@ilkeMuhtaroglu:Was它試圖使用'IResource.move()'方法?你有什麼異常? – HighCommander4

0

如果該文件是一個類文件,你可以試試下面的代碼:

RefactoringContribution contribution = RefactoringCore.getRefactoringContribution(IJavaRefactorings.RENAME_COMPILATION_UNIT); 
RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) contribution.createDescriptor(); 
descriptor.setProject(cu.getResource().getProject().getName()); 
descriptor.setNewName(newFileName); 
descriptor.setJavaElement(cu); 
descriptor.setUpdateReferences(true); 
RefactoringStatus status = new RefactoringStatus(); 
try { 
    RenameRefactoring refactoring = (RenameRefactoring) descriptor.createRefactoring(status); 
    IProgressMonitor monitor = new NullProgressMonitor(); 
    RefactoringStatus status1 = refactoring.checkInitialConditions(monitor); 
    if (!status1.hasFatalError()) { 
     RefactoringStatus status2 = refactoring.checkFinalConditions(monitor); 
     if (!status2.hasFatalError()) { 
      Change change = refactoring.createChange(monitor); 
      change.perform(monitor); 
     } 
    } 
} catch (CoreException e) { 
    e.printStackTrace(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

銅是ICompilationUnit型的,你可以從IPackageFragment獲得編譯單元。 您也可以用您的需要替換IJavaRefactorings.RENAME_COMPILATION_UNIT

+0

這個答案聽起來像是關於JDT,但問題是標記爲eclipse-cdt。 – HighCommander4

相關問題