gpt4 book ai didi

view - 如何向 Eclipse RCP 中的窗口菜单添加 View ?

转载 作者:行者123 更新时间:2023-12-02 08:42:46 25 4
gpt4 key购买 nike

我想将我的自定义 View 添加到“窗口”菜单。此代码仅添加打开的 View

    IMenuManager pencereler = new MenuManager("sample");
pencereler.add(ContributionItemFactory.VIEWS_SHORTLIST.create(window));
viewMenu.add(pencereler);

如果我打开我的自定义 View ,它会被添加到这个菜单中。但是,我想始终在此菜单中显示我的自定义 View ,而不仅仅是在它打开之后。

那么我可以从 View 中创建“ContributionItem”还是有任何其他方法,比如向“plugin.xml”添加一些行或将我的 View 的 ID 添加到任何扩展?

最佳答案

假设您已正确包含窗口菜单,这就是它的工作原理。

添加命令

  1. plugin.xml 中,选项卡 Extensions,添加扩展点 org.eclipse.ui.commands

  2. org.eclipse.ui.commands,添加一个新的command(右键单击扩展点 > New > command).为命令提供一个id(例如,“myplugin.openCustomView”)和一个名称(例如,“打开自定义 View ").

为命令添加处理程序

对于新创建的命令“myplugin.openCustomView”,您必须创建一个处理程序,它将以编程方式打开 View 。

  1. plugin.xml 中,选项卡 Extensions,添加扩展点 org.eclipse.ui.handlers

  2. org.eclipse.ui.handlers,添加一个处理程序(右键单击扩展点 > 新建 > 处理程序).对于处理程序的 commandId,键入您新创建的命令的名称 (myplugin.openCustomView) 或浏览查找它。在字段 class 中,键入要创建的处理程序类的名称(例如,“OpenCustomViewHandler”),然后单击超链接字段名称 class。这将打开新建类向导。

  3. 让新类(名称已填写)扩展org.eclipse.core.commands.AbstractHandler

  4. 将打开 View 逻辑添加到新创建的类的 execute() 方法中,这样该类将大致如下所示(使用您的 View ID 而不是 myplugin.mycustomviewID 当然)。

    import org.eclipse.core.commands.AbstractHandler;
    import org.eclipse.core.commands.ExecutionEvent;
    import org.eclipse.core.commands.ExecutionException;
    import org.eclipse.ui.PartInitException;
    import org.eclipse.ui.handlers.HandlerUtil;

    public class OpenViewHandler extends AbstractHandler {

    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
    try {
    HandlerUtil.getActiveWorkbenchWindowChecked(event).
    getActivePage().showView("myplugin.mycustomviewID");
    } catch (PartInitException e) {
    e.printStackTrace();
    }
    return null;
    }
    }

将命令添加到菜单

  1. plugin.xml 中,选项卡 Extensions,添加扩展点 org.eclipse.ui.menus

  2. org.eclipse.ui.menus,添加一个新的 menuContribution(右键单击扩展点 > New > menuContribution).

  3. menuContribution 提供以下 locationURI:menu:window?after=additions(这会将贡献放在 < em>Window 菜单,如果您已正确包含它)。

  4. 向新创建的 menuContribution 添加一个命令(右键单击 menuContribution > 新建 > 命令)。浏览 commandId,或手动输入 (myplugin.openCustomView)。为 menuContribution 提供一个 id(例如,“myplugin.menu.openCustomView”),并将样式设置为“”。

关于view - 如何向 Eclipse RCP 中的窗口菜单添加 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com