2009-12-24 30 views
1

我目前正在開發一個Eclipse插件。當被調用時,我的插件將讀取活動的(當前打開的)源文件的數據,並將對源代碼執行一些格式化,然後它將更新結果到同一個活動的源文件。如何在Eclipse插件中讀取文件中的數據?

現在我的問題是:

  1. 如何從活動的源文件中讀取數據?我是否需要獲取此文件的文件位置並直接從該文件中讀取,或者有任何其他方式來執行此操作?
  2. 從上面的第1步獲取並處理數據後,如果我將輸出更新爲活動文檔,那麼Eclipse會拋出任何IOException? Eclipse會不會鎖定源文件? (我認爲不是,因爲我看到其他編輯更新了源文件,同時它也在Eclipse中打開了,但是爲了確切知道,我在這裏提出了這個問題。)

回答

4

您應該使用Eclipse的編輯和文件的基礎設施。我認爲在Eclipse背後更改文件內容並不是一個好主意。

我不是這方面的專家,但我可以給你一個代碼示例,讓您開始:

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
IWorkbenchPage activePage = window.getActivePage(); // null check omitted 
IEditorPart editorPart = activePage.getActiveEditor(); // null check omitted 
ITextEditor textEditor = (ITextEditor) editorPart; // casting check omitted 
IDocument currentDocument = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput()); 

退房的org.eclipse.jface.text.IDocument API。它允許您操作當前活動源文件中的文本。

相關問題