所以,我正在开发一个Eclipse插件,并尝试构建一个类似于Variables View的View。现在,为了从Debug视图中获取选定的StackFrame,我已经注册了一个IDebugContextListener,它最终会在选择时调用下面列出的方法。 问题是我无法从IStructuredSelection.getFirstElement()获取IStackFrame对象。 我还尝试为IStackframe类获取适配器。那也没有用。 如果有人能指出从选择中获取IStackFrame对象的方法,我将非常感激。
private void contextActivated(ISelection context) {
if (context instanceof StructuredSelection) {
System.out.println("a");
Object data = ((StructuredSelection) context).getFirstElement();
if (data instanceof IStackFrame) {
System.out.println("yes");
} else {
System.out.println("no" + data.getClass().getName());
}
}
}
这个问题是它总是执行else部分(即使选择是调试视图中的StackFrame)。此外,适配器方法不起作用。