【发布时间】:2016-02-25 10:25:25
【问题描述】:
在我的 Eclipse 插件中,我有这个工作流程:
- 在 Package Explorer 中获取当前选中的项目
- 做点什么
- 在Package Explorer中获取当前选中的项目(同1)
- 做一些不同的事情
1(和3)是这样实现的:
ISelectionService selectionService = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getSelectionService();
ISelection selection = selectionService.getSelection();
[...]
现在,问题是在 1 之前选择了 Package Explorer,因为这是触发工作流的唯一方法。但是第 2 步更改了活动部分,因为它刷新了 TreeView,使其成为活动部分。当我现在尝试运行与 1 相同的方法 3 时,我遇到了一个问题:Package Explorer 不再是 selectionService 的 activePart,因此 selection 为空。
我的问题是:有什么方法可以为某个不是活动视图的特定视图获取ISelectionService?如果没有,有没有办法在执行第 3 步之前以编程方式设置活动部分?
顺便说一句,这是一个 Eclipse 3.x 插件。
【问题讨论】:
标签: java eclipse eclipse-plugin eclipse-rcp