为了账号安全,请及时绑定邮箱和手机立即绑定

Eclipse Plugin:在右键弹出菜单中添加了新项目,如何确定文件名/路径?

Eclipse Plugin:在右键弹出菜单中添加了新项目,如何确定文件名/路径?

一只甜甜圈 2021-08-25 15:07:40
在菜单上选择新项目时触发的 execute 方法中的 ExecutionEvent 似乎不是指右键单击的文件。我想知道我是否需要为此添加侦听器,如果是这样,这会干扰执行方法。
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

您在事件中获得的是当前选择,它可能是一个文件,也可能是其他内容,具体取决于您如何定义菜单“enabledWhen”。您可以从选择中获取文件。


IStructuredSelection selection = HandlerUtil.getCurrentStructuredSelection(event);


if (!selection.isEmpty()) {

  IFile file = Adapters.adapt(selection.getFirstElement(), IFile.class, true);


  if (file != null) {

      ... your code

  }

}

在某些情况下,适配器 toIFile不可用,但一个 to 可用IResource。在这种情况下使用:


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

if (resource instanceof IFile) {

  IFile file = (IFile)resource;


}

注意:getCurrentStructuredSelection和Adapters是相对较新的 API。在旧版本的 Eclipse 中,您将需要稍微复杂的代码。


HandlerUtil是org.eclipse.ui.handlers.HandlerUtil的org.eclipse.ui.workbench插件,Adapters是org.eclipse.core.runtime.Adapters


查看完整回答
反对 回复 2021-08-25
  • 1 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信