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)
请帮助我,tnxIEditorPart.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
}