我需要获取当前的编辑器内容(对于默认编辑器)并将其导出到文件中(对于我的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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句