簡體   English   中英

如何在Eclipse中獲取未保存的編輯器輸入?

[英]How to get unsaved editor input in eclipse?

我需要獲取當前的編輯器內容(對於默認編輯器)並將其導出到文件(對於我的Eclipse插件)。

例如,假設程序員打開了文件test.java,它具有以下兩行:

System.out.println("Line 1");
System.out.println("Line 2");

但是隨后他添加了如下新行,但未保存。

System.out.println("Line 1");
System.out.println("Line 2");
System.out.println("Line 3");

我想將此導出到文件而不保存文檔。 我該怎么做?

(基本上,我的插件將從一開始就嘗試計算與原始文件的塊差異。但是,如果程序員在執行之前開始在編輯器中鍵入內容(因為差異計算可能需要花費較長時間才能處理大型文件),那么偵聽器將暫停一旦程序員停止鍵入,程序和塊差計算將再次開始)

我的嘗試:我可以得到編輯器輸入,如下所示:

   IDocument document = MyMarkerPlugin.getEditor()
            .getDocumentProvider()
            .getDocument(MyMarkerPlugin.getEditor().getEditorInput());

但是我不知道如何將Idocument類型的文檔導出到文件中。 找不到與此相關的任何api。

IDocument有一個get方法可以向您返回文檔的文本:

String text = document.get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM