我正在使用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 {***})。
首先不要使用Workbench这是一个 内部 类,并且不得使用。使用PlatformUI得到的工作台。
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上面的实例检查)。
ITextEditor