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 {
    }
}

然后运行测试:

写在后面

参考文章列表

相关推荐
爱划水不秃头的程序员7 小时前
堆 栈 和常量池的关系是啥 是jvm对他们进行的划分吗
java
周GZ7 小时前
4个提问,deepseek讲解Java中的线程池
java
LuTshoes7 小时前
context 上下文工程
java·人工智能·spring·ai
wuminyu7 小时前
Markword在紧凑对象头上的实现原理剖析
java·linux·c语言·jvm·c++
君顾17 小时前
24小时自助健身房系统开发实战与完整指南
java·开发语言·健身房
鹿角片ljp7 小时前
LeetCode 78:子集|回溯、选与不选、递归和path快照
java·数据结构·算法
金玉满堂@bj8 小时前
多环境部署方案(开发、测试、生产,搭配Tomcat\+WAR包)
java·tomcat·maven
白远山8 小时前
无人自助健身平台搭建:从架构设计到设备联动的完整实战
java·开发语言·架构·需求分析
解道Jdon8 小时前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
古法安卓8 小时前
Android-Fork 机制详解
android·java·android studio