获取Eclipse编辑器的当前源代码?

时间:2014-12-23 19:40:32

标签: java eclipse editor

我正在使用Eclipse IDE。我想首先开发一个插件,这个插件允许我将整个源代码作为一个简单的字符串。

我使用模板“hello world command”创建了一个简单的“hello the world”插件。现在我正在搜索从Eclipse编辑器获取源代码并使用System.out.println()显示它;声明,而不是显示你好世界。

我尝试了这个,但它只显示了我的项目的分层序列,packageName / src / nameOfClass。

System.out.println(
    Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getEditorInput() 
);

我的目标是获取类本身的源代码(公共类nameOfClass {***})。

1 个答案:

答案 0 :(得分:2)

首先不要使用Workbench这是内部类,不得使用。使用PlatformUI获取工作台。

IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();

if (editor instanceof ITextEditor)
 {
   ITextEditor textEditor = (ITextEditor)editor;

   IDocumentProvider provider = textEditor.getDocumentProvider();

   IEditorInput input = editor.getEditorInput();

   IDocument document = provider.getDocument(input);

   String text = document.get();

   ...
 }

注意:并非所有编辑器都是文本编辑器,因此需要进行检查(上面的ITextEditor实例检查)。