如何从Eclipse插件中的文件中读取数据?

时间:2009-12-24 08:05:10

标签: java eclipse eclipse-plugin

我目前正在开发Eclipse插件。调用时,我的插件将读取活动(当前打开的)源文件的数据,并对源代码进行一些格式化,然后将结果更新为相同的活动源文件。

现在我的问题是:

  1. 如何从活动源文件中读取数据?我是否需要获取此文件的文件位置并直接从那里读取或有其他方法可以执行此操作吗?
  2. 从上面的步骤1获取并处理数据后,如果我将输出更新为活动文档,Eclipse会抛出任何IOException吗? Eclipse会不会锁定源文件? (我认为不是,因为我看到其他编辑更新了源文件,而它也在Eclipse中打开了。但是要知道它,我在这里提出问题。)

1 个答案:

答案 0 :(得分:4)

您应该将Eclipse的基础结构用于编辑器和文档。我不认为改变Eclipse背后的文件内容是个好主意。

我不是这方面的专家,但我可以给你一个代码示例来帮助你入门:

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IWorkbenchPage activePage = window.getActivePage(); // null check omitted
IEditorPart editorPart = activePage.getActiveEditor(); // null check omitted
ITextEditor textEditor = (ITextEditor) editorPart; // casting check omitted
IDocument currentDocument = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());

查看org.eclipse.jface.text.IDocument API。它允许您操作当前活动源文件中的文本。