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

 更新时间:2021年04月16日 10:54:25   作者:wind_sssssssss  
这篇文章主要介绍了IDEA插件开发注册菜单之向主菜单注册菜单项目,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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 2021/4/13 13:55
 * @updateDate 2021/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

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

到此这篇关于IDEA插件开发注册菜单之向主菜单注册菜单项目的文章就介绍到这了,更多相关idea注册菜单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中单例模式详解

    Java中单例模式详解

    这篇文章主要介绍了Java中单例模式详解,单例模式包括了懒汉式单例、饿汉式单例、登记式单例三种,想要了解的朋友可以了解一下。
    2016-11-11
  • springboot项目启动后执行方法的三种方式

    springboot项目启动后执行方法的三种方式

    有时项目需求,需要项目启动的时候向数据库中查询一下系统属性,或者需要加载某个特定的方法,下面这篇文章主要给大家介绍了关于springboot项目启动后执行方法的三种方式,需要的朋友可以参考下
    2022-06-06
  • 使用Java和高德地图API将经纬度转换为地理位置信息的步骤

    使用Java和高德地图API将经纬度转换为地理位置信息的步骤

    这篇文章详细介绍了如何将GPS坐标转换为人类可读的地理位置,介绍了环境准备、代码实现、异常处理及优化步骤,首先创建LocationFinder类,实现getLocationFromCoordinates方法,利用高德逆地理编码API转换坐标,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • java 算法之归并排序详解及实现代码

    java 算法之归并排序详解及实现代码

    这篇文章主要介绍了java 算法之归并排序详解及实现代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • Java消息队列RabbitMQ入门详解

    Java消息队列RabbitMQ入门详解

    这篇文章主要介绍了Java消息队列RabbitMQ入门详解,RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现,AMQP的主要特征是面向消息、队列、路由(包括点对点和发布 /订阅)、可靠性、安全,需要的朋友可以参考下
    2023-07-07
  • 看动画学算法之Java实现doublyLinkedList

    看动画学算法之Java实现doublyLinkedList

    这篇文章主要介绍Java实现doublyLinkedList,LinkedList:doublyLinkedList相对比较复杂,今天就来简单学习一下doublyLinkedList的基本操作和概,感兴趣的小伙伴可以参考下面具体文章内容
    2021-10-10
  • MySQL+SSM+Ajax上传图片问题

    MySQL+SSM+Ajax上传图片问题

    本文主要介绍了MySQL+SSM+Ajax上传图片问题。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • SpringMVC 拦截器的使用示例

    SpringMVC 拦截器的使用示例

    这篇文章主要介绍了SpringMVC 拦截器的使用示例,帮助大家更好的理解和学习使用SpringMVC,感兴趣的朋友可以了解下
    2021-04-04
  • Java 随机取字符串的工具类

    Java 随机取字符串的工具类

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java提供了最基本的工具,可以帮助开发者来实现这一切
    2014-01-01
  • Java操作另一个Java程序使其重启的简单实现

    Java操作另一个Java程序使其重启的简单实现

    下面小编就为大家带来一篇Java操作另一个Java程序使其重启的简单实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论