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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse插件:在右键单击弹出菜单中添加了新项,如何确定文件名/路径?相关的知识,希望对你有一定的参考价值。

在菜单上选择新项目时触发的execute方法中的ExecutionEvent似乎不会引用右键单击的文件。我想知道是否需要为此添加侦听器,如果是这样,这会干扰执行方法。

答案

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

IStructuredSelection selection = HandlerUtil.getCurrentStructuredSelection(event);

if (!selection.isEmpty()) {
  IFile file = Adapters.adapt(selection.getFirstElement(), IFile.class, true);

  if (file != null) {
      ... your code
  }
}

在某些情况下,IFile的适配器不可用,但IResource的适配器是。在这种情况下使用:

IResource resource = Adapters.adapt(selection.getFirstElement(), IResource.class);
if (resource instanceof IFile) {
  IFile file = (IFile)resource;

}

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

HandlerUtilorg.eclipse.ui.handlers.HandlerUtil插件中的org.eclipse.ui.workbenchAdaptersorg.eclipse.core.runtime.Adapters

以上是关于Eclipse插件:在右键单击弹出菜单中添加了新项,如何确定文件名/路径?的主要内容,如果未能解决你的问题,请参考以下文章

鼠标点右键弹出的菜单怎么设置啊?

Notepad++怎么格式化json字符串

如何在右键新建里添加excel的“xlsx”格式表格,注意不是xls

vs2005中如何添加鼠标右键弹出菜单

如何删除鼠标右键功能

在右键菜单中添加用Jupyter Notebook打开