信息发布→ 登录 注册 退出

IDEA插件开发注册菜单之向主菜单注册菜单项目

发布时间:2026-01-11

点击量:
目录
  • 1、配置xml
    • 1.1 向主菜单添加
    • 1.2 向其它菜单添加
  • 2、Java代码

    1、配置xml

    1.1 向主菜单添加

     <actions>
            <group id="TestMenu" text="_TestMenu" description="xxx">
            	<!-- 
            		这个应该很好理解, 添加到哪个组
            		group-id: 唯一
            		anchor: after / before / first / last
            	 -->
                <add-to-group group-id="MainMenu" anchor="last"/>
                <action id="TestAction1" class="com.wind.action.TestAction" text="测试菜单" description="xxx"/>
            </group>
        </actions>

    1.2 向其它菜单添加

    <!-- 
    		如下效果为:
    			TestMenu
    			 - 测试菜单
    			 - 测试子菜单
    	-->
        <actions>
            <group id="TestMenu" text="_TestMenu" description="xxx">
                <add-to-group group-id="MainMenu" anchor="last"/>
                <action id="TestAction" class="com.wind.action.TestAction" text="测试菜单" description="xxx"/>
            </group>
            <group id="TestSubMenu1" text="_TestSubMenu" description="xxx">
            	<!-- 重点其实就是这里,想添加到哪就写对应的group-id -->
                <add-to-group group-id="TestMenu" anchor="last"/>
                <action id="TestSubAction1" class="com.wind.action.TestSubAction1" text="测试子菜单" description="xxx"/>
            </group>
        </actions>

    2、Java代码

    package com.wind.action;
    
    import com.intellij.openapi.actionSystem.AnAction;
    import com.intellij.openapi.actionSystem.AnActionEvent;
    import com.intellij.openapi.actionSystem.PlatformDataKeys;
    import com.intellij.openapi.project.Project;
    import com.intellij.openapi.ui.Messages;
    import org.jetbrains.annotations.NotNull;
    
    /**
     * @author wind
     * @Description 测试菜单执行类
     * @createDate 2025/4/13 13:55
     * @updateDate 2025/4/13 13:55
     */
    public class TestAction extends AnAction {
        @Override
        public void actionPerformed(@NotNull AnActionEvent event) {
            Project project = event.getData(PlatformDataKeys.PROJECT);
            String txt = Messages.showInputDialog(
                    project,
                    "请输入测试内容",
                    "测试标题",
                    Messages.getQuestionIcon()
            );
    
            System.out.println(txt);
        }
    }

    3、结果展示

    • 白色主题为启动的插件测试界面
    • 黑色主题为编写代码的界面



     

    无任何商业用途,无任何侵权想法。但如发现侵权或其它问题请及时与本人取得联系。本人会在第一时间进行对应删除或修改。

    作者: wind
    csdn: https://blog.csdn.net/com_study

    在这祝大家工作开心^_^

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!