小编典典

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

java

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

我使用模板“ hello world命令”制作了一个简单的“ hello the
world”插件。现在,我正在寻找从Eclipse编辑器中获取源代码,并使用System.out.println()进行显示;而不是显示HELLO THE
WORLD。

我试过了,但是它只显示了我项目的层次结构顺序,即packageName / src / nameOfClass。

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

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


阅读 232

收藏
2020-11-30

共1个答案

小编典典

首先不要使用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上面的实例检查)。

2020-11-30