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

2017-01-11  本文已影响0人  york1024

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

教程目标

教程硬件环境

正式开始

新建项目

新建插件

项目命名

项目命名

新建一个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源码包

上一篇下一篇

猜你喜欢

热点阅读