如何在 eclipse 中获取未保存的编辑器输入



我需要获取当前的编辑器内容(对于默认编辑器)并将其导出到文件中(对于我的 Eclipse 插件)。

例如,假设程序员打开了 file test.java,它有以下 2 行:

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

但后来他添加了一行新行,例如 follow,但没有保存它。

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();

最新更新