Editor 编写Eclipse插件时,如何访问Java编辑器的活动选择?

Editor 编写Eclipse插件时,如何访问Java编辑器的活动选择?,editor,eclipse-plugin,selection,Editor,Eclipse Plugin,Selection,我正在努力开发一个Eclipse插件。通常,您应该能够在Java编辑器中选择一些Java代码行,然后单击按钮并对所选代码进行处理 我如何访问这个特定的Java编辑器和插件中的选择?作为一个框架,我使用了这个简单的Hello World示例,它在工具栏上添加了一个按钮,单击时会弹出一个对话框 我只有一个IWorkbenchWindow的实例。使用这个API,我将得到一个调用window.getActivePage.getActiveEditor的IEditorPart,这对于我来说似乎是非常无用的

我正在努力开发一个Eclipse插件。通常,您应该能够在Java编辑器中选择一些Java代码行,然后单击按钮并对所选代码进行处理

我如何访问这个特定的Java编辑器和插件中的选择?作为一个框架,我使用了这个简单的Hello World示例,它在工具栏上添加了一个按钮,单击时会弹出一个对话框

我只有一个IWorkbenchWindow的实例。使用这个API,我将得到一个调用window.getActivePage.getActiveEditor的IEditorPart,这对于我来说似乎是非常无用的

非常感谢您的帮助

干杯
-弗兰克

你应该能够做这样的事情: JavaEditor window.getActivePage.getActiveEditor.getSelectionProvider.getSelection

但是,听起来好像您正试图根据选择调用IAction。这可能是通过editorActions扩展点或类似的东西注册的。如果是这样的话,我将看一看SelectionDispatchAction类,它根据名称所暗示的当前选择来分派操作。此类是内部API,但您可能仍然会发现它很有用。

您可以使用window.getSelectionService.getSelection,它为您提供了一个ISelection对象,表示活动部件中的活动选择。检查返回给您的ISelection类型,并采取相应的措施