我們可以重構項目名稱,但我需要有關在eclipse中以文件名重構的幫助。我們在這個文件夾下有一個文件夾,裏面有一個xxx.zzz文件,我們想重命名/重構這個文件。在Eclipse中如何以編程方式在項目中重構文件名
親切的問候
我們可以重構項目名稱,但我需要有關在eclipse中以文件名重構的幫助。我們在這個文件夾下有一個文件夾,裏面有一個xxx.zzz文件,我們想重命名/重構這個文件。在Eclipse中如何以編程方式在項目中重構文件名
親切的問候
嘗試右鍵單擊該文件,選擇重構並輸入您所需的文件名。您可能會被要求額外更新引用和類似的變量名稱。檢查他們兩個(推薦)和文件及其所有的引用將被更新
如果該文件是一個類文件,你可以試試下面的代碼:
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
。
這個答案聽起來像是關於JDT,但問題是標記爲eclipse-cdt。 – HighCommander4
我需要以編程方式進行。我看到有移動方法。但是我在做這件事時得到了一個異常。 –
單擊文件或打開文件(如果是Java文件),請按Alt + Shit + R,現在文件名將被裝箱,現在編輯文件名並按回車鍵以接受更改 – Dineshmohan
@ilkeMuhtaroglu:Was它試圖使用'IResource.move()'方法?你有什麼異常? – HighCommander4