idea插件开发之在file setting中定义配置项

写在前面

实现在idea 的file->setting中自定义菜单的功能:
在这里插入图片描述

因为这里是设置的统一入口,这样就可以给我们的插件暴漏一些设置功能了。

1:定义设置UI

idea插件所有的页面都是form ui,带form的原因是,我们需要通过拖拖拽拽的方式来设置其布局,大小,样式等,而处理逻辑则需要在配套的Java代码中编写,通过如下方式来定义一个form ui:
在这里插入图片描述
在这里插入图片描述

成功后,就会进入页面,
在这里插入图片描述

这就是页面设计器,如果你熟悉地代码平台或者是流程设计器的话,应该会比较容易接受这个页面:
比如这里我们拖拽一个按钮,一个文本输入框textfield:
在这里插入图片描述
可以看下生成的java代码,会将组件作为私有变量的方式定义出来,注意不需要我们赋值,在插件运行期间idea会自动赋值,因此如果我们需要写逻辑代码话,直接用就行了:
在这里插入图片描述
接着我们还需要实现接口com.intellij.openapi.options.Configurable,这是idea针对设置信息定义的接口,这里我们直接实现其子接口com.intellij.openapi.options.SearchableConfigurable,如下:

public class SettingFactory implements SearchableConfigurable {

    private SettingUIDemo settingUI = new SettingUIDemo();

    /**
     * 自定义唯一标识
     * @return
     */
    @Override
    public @NotNull String getId() {
        return "test.id";
    }

    @Override
    public @Nls(capitalization = Nls.Capitalization.Title) String getDisplayName() {
        return "test-config";
    }

    /**
     * 获取设置区域要展示的信息,这里返回我们的panel
     * @return
     */
    @Override
    public @Nullable JComponent createComponent() {
        return settingUI.getComponent();
    }

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

    /**
     * 该方法在点击了idea 的apply或者是ok后执行,即确定设置信息时执行
     * @throws ConfigurationException
     */
    @Override
    public void apply() throws ConfigurationException {

    }
}

接着最后一步,即将我们的设置工厂类注册到plugin.xml中让idea加载运行:
在这里插入图片描述
最后运行,查看:
在这里插入图片描述
如果我们想要写逻辑的话,就需要在java文件中开发了,比如这里获取在文本框中输入的内容,就需要给按钮注册一个监听事件:
在这里插入图片描述
测试如下:
在这里插入图片描述

写在后面

参考文章列表

相关推荐

  1. 开发工具idea推荐

    2024-06-12 02:24:02       40 阅读
  2. IDEA 开发一些好用的

    2024-06-12 02:24:02       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 02:24:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 02:24:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 02:24:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 02:24:02       18 阅读

热门阅读

  1. 第一章 - 第6节- 数制转换 - 课后习题

    2024-06-12 02:24:02       11 阅读
  2. MyQueue(队列)

    2024-06-12 02:24:02       12 阅读
  3. 下载黄金投资软件的正确方法及注意事项

    2024-06-12 02:24:02       8 阅读
  4. 2024年,计算机相关专业还值得选择吗?

    2024-06-12 02:24:02       12 阅读
  5. YDT .netcore学习笔记

    2024-06-12 02:24:02       8 阅读
  6. Android应用图标到应用显示过程

    2024-06-12 02:24:02       12 阅读
  7. element-plus ui的使用说明

    2024-06-12 02:24:02       14 阅读