You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse RCP 中如何为项目视图添加自定义右键上下文菜单项

完全可以通过在plugin.xml中注册扩展点的方式实现Eclipse RCP项目资源管理器的自定义右键菜单,无需硬编码构建菜单结构,完整实现逻辑如下:

示例界面

实现步骤

1. 注册自定义命令

首先通过org.eclipse.ui.commands扩展点定义菜单绑定的命令,设置唯一标识、名称和描述:

<extension point="org.eclipse.ui.commands">
    <command id="com.itemis.test.MyOpenCommand" name="Open My"
            description="Open My Editor.">
    </command>
</extension>

2. 绑定命令执行处理器

通过org.eclipse.ui.handlers扩展点将命令和实际处理点击逻辑的Java类绑定:

<extension point="org.eclipse.ui.handlers">
    <handler commandId="com.itemis.test.MyOpenCommand"
            class="com.itemis.test.MyOpenHandler">
    </handler>
</extension>

对应处理类的基础模板如下,execute方法内编写点击菜单后要执行的业务逻辑即可:

package com.itemis.test;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;

public class MyOpenHandler extends AbstractHandler {

   @Override
   public Object execute(ExecutionEvent event) throws ExecutionException {
      // 此处添加业务逻辑,比如获取选中项目、打开自定义编辑器等
      return null;
   }
}

3. 挂载命令到项目资源管理器右键菜单

通过org.eclipse.ui.menus扩展点将命令挂载到Project Explorer的右键菜单中,locationURI指定了菜单的挂载位置:

<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
              <command commandId="com.itemis.test.MyOpenCommand"
                label="Open My" style="push" tooltip="Open My Editor.">
        </command>
</menuContribution>

可选优化:如果需要控制菜单显隐条件,可在command标签内添加visibleWhen配置,以下是仅当选中项为项目资源时显示菜单的示例:

<visibleWhen checkEnabled="false">
    <iterate ifEmpty="false">
        <adapt type="org.eclipse.core.resources.IProject"/>
    </iterate>
</visibleWhen>

内容的提问来源于stack exchange,提问作者steven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:06:07