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

然后运行测试:

写在后面

参考文章列表

相关推荐
程序员黑豆13 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年14 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅14 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小席是个热心肠15 小时前
AI相关的自我学习
java·人工智能·学习
数智化管理手记17 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_291417 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统18 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
0x5319 小时前
Java网络编程(二)
java·服务器·网络
Flittly20 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai20 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库