我知道如何确定像“ Project Explorer”这样的View是否在Eclipse中打开。但是如何确定用户是从“ z / OS Projects”视图还是从“ Project Explorer”视图打开对话框?
基于结果,我需要在当前活动的View中找到一个文件。 我已经覆盖了这部分。
答案 0 :(得分:0)
在扩展AbstractHandler
的处理程序类中,可以使用HandlerUtil
方法从执行事件中获取各种信息。
对于当前选择,您可以使用:
IStructuredSelection sel = HandlerUtil.getCurrentStructuredSelection(event);
其中event
是传递给处理程序的ExecutionEvent
。
要获取选择中包含的任何资源(例如IFile
),请使用:
IResource resource = Adapters.adapt(sel.getFirstElement(), IResource.class);
(您也许也可以直接适应IFile
)。
注意:getCurrentStructuredSelection
和Adapters
都仅在相当新的Eclipse版本中。对于较旧的版本,代码要复杂一些。