java - Eclipse 插件:如何查找用户从哪个视图中打开了对话框?
问题描述
我知道如何找出像“项目资源管理器”这样的视图是否在 Eclipse 中打开。但是如何确定用户是从“z/OS 项目”视图还是从“项目资源管理器”视图打开了一个对话框?
根据结果,我需要在当前活动视图中找到一个文件。这部分我已经介绍过了。
解决方案
在扩展的处理程序类中,AbstractHandler
您可以使用该HandlerUtil
方法从执行事件中获取各种信息。
对于当前选择,您可以使用:
IStructuredSelection sel = HandlerUtil.getCurrentStructuredSelection(event);
传递给处理程序event
的位置在哪里。ExecutionEvent
要获取选择中包含的任何资源(例如IFile
),请使用:
IResource resource = Adapters.adapt(sel.getFirstElement(), IResource.class);
(你也可以直接适应IFile
)。
注意:两者getCurrentStructuredSelection
和Adapters
都只是在相当新的 Eclipse 版本中。对于旧版本,代码稍微复杂一些。
推荐阅读
- android - 运行模拟器时出错:没有足够的磁盘空间来运行 AVD
- java - 我可以使用 KeyListener 更改变量吗?
- python-3.x - 尽管安装了帮助程序,但导入帮助程序库时出错
- javascript - 数组不是函数(评估 'this.props.onPress(e)')
- string - 如何计算 Bash 中字符串中字符的出现次数
- sql - How to INSERT correctly in a VARRAY of TYPE OBJECT?
- blockchain - 如何解决solidity Remix中的类型错误
- amazon-web-services - AWS ASG 生命周期通知目标
- c# - 如何路由 401 和 403 错误?
- c++ - 您将如何嵌套结构?