2011-01-30 35 views
0

我正在努力开发一个Eclipse插件。通常,您应该能够在Java编辑器中选择一些Java代码行,然后单击按钮并使用所选代码执行某些操作。编写Eclipse插件,如何访问Java编辑器的活动选择?

我怎样才能实际访问这个特定的Java编辑器和插件的选择?作为一个框架,我使用这个简单的Hello World示例,它向工具栏添加一个按钮,单击时弹出一个对话框。

我唯一拥有的是IWorkbenchWindow的实例。使用这个API,我会得到一个IEditorPart调用window.getActivePage().getActiveEditor(),这似乎是对我的目的很没用......

任何帮助,高度赞赏

干杯 -Frank

回答

0

您应该能够这样做: ((JavaEditor)window.getActivePage()。getActiveEditor())。getSelectionProvider()。getSelection()

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

0

您可以使用window.getSelectionService().getSelection(),它可以为您提供表示活动部件中的活动选择的对象ISelection。检查这种返回你的ISelection什么类型,并采取相应的行动。