我正在使用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 {***})。
答案 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
实例检查)。