【发布时间】:2011-12-05 02:44:04
【问题描述】:
我正在开发 Eclipse 插件。
我已成功添加上下文菜单(当用户在 Java 编辑器中并在编辑器中单击鼠标右键时)并将其部分连接到我创建的操作类。
显然,当用户单击编辑器上的任何元素(任何文本)并右键单击以打开上下文菜单并选择我创建的菜单时,插件将开始跟踪用户选择的选择。但是,它跟踪的选择总是在 ITextSelection 的实例中,我无法用它做任何有用的事情。我想将选择作为IStructuredSelection 的实例,以便我的插件可以使用它。
反正我能做到吗?
public class MyPluginAction extends ActionDelegate implements IEditorActionDelegate {
public void run(IAction action) {
}
public void selectionChanged(IAction action, ISelection selection) {
if(selection instanceof IStructuredSelection){
System.out.println("IStructure");
} else if(selection instanceof ITextSelection){
System.out.println("IText");
}
}
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
// TODO Auto-generated method stub
}
}
【问题讨论】:
-
IStructuredSelection的哪个方面是您想玩的有用部分?它只是一个对象列表...... -
我想从 IStructuredSelection 获取
IJavaElement,以便我可以将我的重构插件与该 IJavaElement 一起使用。当用户右键单击 IJavaElement 时,似乎其他一些内部重构工作。我只是想知道最好的方法是什么.....
标签: eclipse eclipse-plugin eclipse-rcp