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

从Eclipse 3迁移至Eclipse 4,如何在插件中自定义工作台?

Eclipse 3 → Eclipse 4 自定义透视图头部迁移方案

疑问1:如何创建、配置e4xmi文件添加顶部透视图头部

  • 第一步:添加E4依赖
    在插件的MANIFEST.MF中引入必要的E4工作台相关bundle:
    org.eclipse.e4.ui.workbench;bundle-version="1.7.0",
    org.eclipse.e4.ui.model.workbench;bundle-version="1.2.0",
    org.eclipse.e4.ui.di;bundle-version="1.2.0",
    org.eclipse.e4.core.contexts;bundle-version="1.8.0"
    
  • 第二步:创建e4xmi模型文件
    在插件资源目录(如src/main/resources)下新建e4xmi文件(例:custom-perspective-header.e4xmi),核心配置:
    • 根节点选择Application,依次添加Window → TrimBars → Top Trim节点
    • 在Top Trim下添加TrimContribution,设置唯一ID(如com.yourplugin.perspective.header.trim),并关联你的自定义控件类
  • 第三步:改造自定义控件类
    将原CustomPerspectiveHeader适配E4依赖注入模式,用@PostConstruct注解初始化SWT控件:
    public class CustomPerspectiveHeader {
        @Inject
        public void postConstruct(Composite parent, EPartService partService, IPerspectiveService perspectiveService) {
            // 原createWindowContents中的SWT控件创建逻辑迁移至此
            // 通过partService、perspectiveService获取透视图列表、当前透视图信息
            // 实现用户名、角色展示逻辑
        }
    }
    
  • 第四步:注册模型到插件
    在plugin.xml中扩展org.eclipse.e4.ui.workbench.model扩展点,指定e4xmi文件路径:
    <extension
          point="org.eclipse.e4.ui.workbench.model">
       <fragment
             uri="platform:/plugin/com.yourplugin/custom-perspective-header.e4xmi">
       </fragment>
    </extension>
    

疑问2:能否仅在现有布局基础上添加头部,还是需完整布局?

可以仅在现有布局基础上添加透视图头部,无需重新定义完整工作台布局:

  • Eclipse4支持**模型片段(Model Fragments)**机制,允许你只定义需要新增的UI部分(如顶部Trim贡献),注册后E4工作台会自动将片段合并到原有应用模型中
  • 无需覆盖整个Application或Window结构,只需在e4xmi中定义TrimContribution或ToolControl,并通过模型片段扩展指定附加到现有窗口的Top Trim区域
  • 如果是基于Eclipse4兼容模式运行原Eclipse3 RCP应用,还可以在WorkbenchWindowAdvisor的postWindowCreate()方法中,通过E4模型API动态添加Trim贡献,避免完全重构原有布局

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:20:27