idea插件开发之在项目右键添加菜单

写在前面

本文看下如何在右键列表中增加菜单。

正戏

首先创建一个Action,要显示的menu选择ProjectViewPopupMenu,如下:

  • action
java 复制代码
public class CAction extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
//        Messages.showInfoMessage("右键点击了", "提示");
        ShowSettingsUtil.getInstance().editConfigurable(e.getProject(), new MyLeftMenuSettingsUI());
    }
}
  • plugin.xml(注意是自动生成)
xml 复制代码
<action id="C" class="x.CAction" text="C" description="C">
    <add-to-group group-id="ProjectViewPopupMenu" anchor="first"/>
</action>

接着定义UI,注意要实现Configurable接口(这样才会有确定/取消按钮):

java 复制代码
public class MyLeftMenuSettingsUI implements Configurable {
    private JPanel topPanel;

    @Override
    public @Nls(capitalization = Nls.Capitalization.Title) String getDisplayName() {
        return "右键设置";
    }

    @Override
    public @Nullable JComponent createComponent() {
        return topPanel;
    }

    @Override
    public boolean isModified() {
        return true;
    }

    /**
     * 确定时调用
     * @throws ConfigurationException
     */
    @Override
    public void apply() throws ConfigurationException {
    }
}

然后运行测试:

写在后面

参考文章列表

相关推荐
AI人工智能+电脑小能手36 分钟前
大白话说Java设计模式-26-策略模式(业务实战篇)
java·spring·设计模式·策略模式·支付系统·算法切换
不是光头 强1 小时前
Java 后端 AI 技术选型与学习路线
java·人工智能·学习
paopaokaka_luck2 小时前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts
eralong2 小时前
Java IO 与 NIO
java·后端
Jesse_EC2 小时前
我给消息推送加了 Publisher Confirm,然后亲手引入了一个竞态
java
S3rein2 小时前
JAVA多线程手撕
java·多线程
用户8181870627462 小时前
第7章 死锁排查实录:jstack定位死锁的完整流程
java·后端
刀锋00012 小时前
Java 工程师转 AI Agent 最短路径:用 Spring 的思维理解 Spring AI 2.0(附 LangChain4j 对照)
java·人工智能·spring boot·spring·ai agent
喵同志不止步于码农2 小时前
Java Caffeine 快速入门
java·开发语言·后端·并发·缓存一致性
Java成神之路-2 小时前
Java 并发灵魂拷问:notify/signal 唤醒顺序是规范还是实现?
java