Eclipse编辑器插件:请了解如何获取调用类似.getActiveEditor().getEditorInput()的原始文本

Eclipse编辑器插件:请了解如何获取调用类似.getActiveEditor().getEditorInput()的原始文本,editor,plugins,eclipse-rcp,Editor,Plugins,Eclipse Rcp,请帮我捕获编辑器中的缓冲文本,我有以下代码: System.out.println( Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getTitle() ); System.out.println( Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor().get

请帮我捕获编辑器中的缓冲文本,我有以下代码:

System.out.println( Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getTitle() );
System.out.println( Workbench.getInstance().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getEditorInput() );
我无法按照第一行指示的路径实际重新读取文件,因为我需要的正是文本缓冲区

在第二行中,我总是收到来自casted类的路径 org.eclipse.ui.examples.rcp.texteditor.editors.PathEditorInput (我不想在我的应用程序中包含@runtime)

请帮助我,tnx

IEditorPart.getEditorInput()返回表示编辑器输入的IEditorInput。如果活动编辑器使用PathEditorInput作为输入,则需要将其捆绑或重构代码以不使用示例rcp编辑器输入-您提到的PathEditorInput就是一个rcp示例

例如,您可以使用标准编辑器之一,如org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor或org.eclipse.ui.editors.text.TextEditor和org.eclipse.ui.part.FileEditorInput

您是否使用示例向导创建项目?如果是这样,这将解释示例用法的来源

就获取文本而言,以下代码段将获取编辑器(如果它是AbstractTextEditor的实例),然后将从文档中检索内容

请注意,此调用中有一些不推荐的访问,如果您在上注册为侦听器,则可以跟踪活动选择并避免查询工作台中的活动编辑器

AbstractTextEditor part = (AbstractTextEditor) Workbench.getInstance()
        .getActiveWorkbenchWindow().getActivePage().getActiveEditor()
        .getAdapter(AbstractTextEditor.class);

if (part != null) {

    IDocument document = part.getDocumentProvider().getDocument(
            part.getEditorInput());

    String content = document.get();

    //do something with the text
}