Eclipse插件:如何查找用户从哪个View打开了对话框?

时间:2018-11-23 11:07:57

标签: java eclipse eclipse-plugin

我知道如何确定像“ Project Explorer”这样的View是否在Eclipse中打开。但是如何确定用户是从“ z / OS Projects”视图还是从“ Project Explorer”视图打开对话框?

基于结果,我需要在当前活动的View中找到一个文件。 我已经覆盖了这部分。

1 个答案:

答案 0 :(得分:0)

在扩展AbstractHandler的处理程序类中,可以使用HandlerUtil方法从执行事件中获取各种信息。

对于当前选择,您可以使用:

IStructuredSelection sel = HandlerUtil.getCurrentStructuredSelection(event);

其中event是传递给处理程序的ExecutionEvent

要获取选择中包含的任何资源(例如IFile),请使用:

IResource resource = Adapters.adapt(sel.getFirstElement(), IResource.class);

(您也许也可以直接适应IFile)。

注意:getCurrentStructuredSelectionAdapters都仅在相当新的Eclipse版本中。对于较旧的版本,代码要复杂一些。