【发布时间】:2014-12-22 18:49:17
【问题描述】:
我需要获取当前编辑器内容(对于默认编辑器)并将其导出到文件(对于我的 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。
【问题讨论】:
标签: java eclipse eclipse-plugin