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

然后运行测试:

写在后面

参考文章列表

相关推荐
Lhappy嘻嘻8 小时前
Java 并发编程(六)|并发进阶高频:CAS、锁升级
java·开发语言
林熙蕾LXL8 小时前
VSCode调试
ide·vscode·编辑器
要开心吖ZSH8 小时前
MVCC 进阶:快照读 vs 当前读、幻读与 Next-Key Lock
java·数据库·sql·mysql·mvcc
京韵养生记8 小时前
【无标题】
java·服务器·前端
小强库计算机毕业设计8 小时前
源码分享Spring Boot + Vue3 的校园社团管理系统
java·spring boot·后端·计算机毕业设计
格子软件8 小时前
2026年分布式GEO代理流量调度:源码级状态机防重挂实战
java·vue.js·人工智能·spring boot·分布式·vue
hj2862518 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
我是一颗柠檬8 小时前
【Java项目技术亮点】EXPLAIN深度分析与慢查询治理
android·java·开发语言
万亿少女的梦1688 小时前
基于Spring Boot的社区管理系统设计与实现
java·spring boot·mysql·vue·系统设计
大气的小蜜蜂9 小时前
领域层的服务
java·前端·数据库