美文网首页
Intellij IDEA 上自定义插件 -基础教程

Intellij IDEA 上自定义插件 -基础教程

作者: york1024 | 来源:发表于2017-01-11 18:34 被阅读0次

    工作中往往会出现很多需要小工具、最近接触的IDEA、发现里面很多插件很顺手、就像这把工作中很常见的一些工具移植到IDEA上。

    教程目标

    • 本次教程、只是简单教会大家如何在IDEA上搭建自己的插件,即在IDEA按下某个快捷键、弹出我们的工具对话框。

    教程硬件环境

    • IntelliJ IDEA 2016.1.2
    • jdk8

    正式开始

    新建项目

    新建插件

    项目命名

    项目命名

    新建一个Action

    新建一个Action

    配置Action

    配置Action

    新建一个Dialog

    新建一个Dialog

    完善Dialog

    由于IDEA含有对Swing 的界面操作、有.net基础看到估计很亲切、直接拖JTextArea控件到面板上


    代码编写-修改PluginToolDemoDialog

    我们期望在输入框中输入字符串、点击ok键弹出刚才输入的内容

    public class PluginToolDemoDialog extends JDialog {
        private JPanel contentPane;
        private JButton buttonOK;
        private JButton buttonCancel;
        private JTextArea textArea1;
        public PluginToolDemoDialog() {
            setContentPane(contentPane);
            getRootPane().setDefaultButton(buttonOK);
    
            setSize(800,400);
            setLocationRelativeTo(null);
            setModal(false);
    
            buttonOK.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    onOK();
                }
            });
            buttonCancel.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    onCancel();
                }
            });
    
    
            setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    onCancel();
                }
            });
    
            contentPane.registerKeyboardAction(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    onCancel();
                }
            }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
        }
        private void onOK() {
    
            JOptionPane.showMessageDialog(this,  textArea1.getText());
        }
        private void onCancel() {
    
            dispose();
        }
        public static void main(String[] args) {
            PluginToolDemoDialog dialog = new PluginToolDemoDialog();
            dialog.pack();
            dialog.setVisible(true);
            dialog.setSize(800,400);
        }
    }
    

    Action 添加下面内容

    public class PluginToolDemo extends AnAction {
        @Override
        public void actionPerformed(AnActionEvent e) {
            PluginToolDemoDialog dialog = new PluginToolDemoDialog();
            dialog.pack();
            dialog.setVisible(true);
            dialog.setSize(800,400);
        }
    }
    

    修改plugin.xml

    编译生产插件

    图片.png

    加载新开发的插件

    [File]->[Setting]-[Plugins]

    加载插件

    重启IDEA

    按下【ALT+E】试试吧!!

    结束

    以上有问题,欢迎留言
    git源码包

    相关文章

      网友评论

          本文标题:Intellij IDEA 上自定义插件 -基础教程

          本文链接:https://www.haomeiwen.com/subject/ckprbttx.html