selectionChanged 特定项目

selectionChanged on specific items

我有一个 eclipse 插件,它有多个 类,做出了一些 UI 的贡献。

贡献是通过弃用的 org.eclipse.ui.actionSets 和 类 实现 IWorkbenchWindowActionDelegate 实现的,后者需要实现 selectionChanged(IAction action, ISelection selection).

selectionChanged方法在任何选择更改时触发(打开另一个文件,在 Project Explorer 中选择另一个项目,在编辑器中选择一些文本(这个触发该方法的多次调用))。

是否有过滤或我可以做的事情来限制 selectionChanged 观察到的对象。例如,对于 class A,仅当编辑器中打开的文件发生更改时才触发 selectionChanged)?

不,无法过滤。

来自文本编辑器的选择是 ITextSelection 的实例,其他选择通常是 IStructuredSelection 的实例,因此您可以检查这些实例以在您的代码中进行简单过滤。