我需要获取当前的编辑器内容(对于默认编辑器)并将其导出到一个文件(对于我的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。
答案 0 :(得分:2)
IDocument
有一个get
方法可以返回文档的文本:
String text = document.get();