Java 如何在Eclipse中的函数或类的右键单击菜单中添加命令?

Java 如何在Eclipse中的函数或类的右键单击菜单中添加命令?,java,eclipse,plugins,plugin.xml,Java,Eclipse,Plugins,Plugin.xml,这是一个新手问题。所有教程都展示了向iFile对象类添加命令的方法。你能给我举一个为函数或类注册命令的plugin.xml文件的例子吗 我想要实现的是在大纲视图或代码本身中右键单击一个类或函数名,并在上下文菜单中使用我的新命令。根据需要将objectClass更改为method的IMethod或class的IType 附言: 要查看表示的对象类型,可以使用Plugin SelectionSpy菜单。选择一个对象,然后单击CtrlShift+F1。关键是在正确选择零件时使用可见。这是在Projec

这是一个新手问题。所有教程都展示了向
iFile
对象类添加命令的方法。你能给我举一个为函数或类注册命令的
plugin.xml
文件的例子吗

我想要实现的是在大纲视图或代码本身中右键单击一个类或函数名,并在上下文菜单中使用我的新命令。

根据需要将
objectClass
更改为method的IMethod或class的IType

附言:


要查看表示的对象类型,可以使用Plugin SelectionSpy菜单。选择一个对象,然后单击CtrlShift+F1。

关键是在正确选择零件时使用可见。这是在Project Explorer中显示的命令示例,该命令仅在选择Java方法或类时可见:

  <menuContribution
        locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu">
     <command
           commandId="__your.command.id__"
           id="your.contribution.id"
           label="Some Label"
           style="push">
        <visibleWhen
              checkEnabled="false">
           <iterate
                 ifEmpty="false"
                 operator="and">
              <or>
                 <instanceof
                       value="org.eclipse.jdt.core.IType">
                 </instanceof>
                 <instanceof
                       value="org.eclipse.jdt.core.IMethod">
                 </instanceof>
              </or>
           </iterate>
        </visibleWhen>
     </command>
  </menuContribution>

别忘了将commandId设置为真实的值


您可以找到有关属性和选择测试的更多信息。

这仅在ProjectExplorer中显示标签。如何使其在任何上下文中可见(例如在源代码编辑器中)?对于locationURI使用popup:org.eclipse.ui.popup.any。这使得它在支持菜单贡献的每个部分都可见,如项目浏览器、包浏览器、大纲视图、类型层次结构、成员等。至于编辑器,它使用不同的机制来提供上下文菜单操作(AFAIK)。