【瞎搞瞎搞】IDEA插件开发

这是一段噩梦般的日子,在店加销售端开发 + 做数据中心 + 帮PM写爬虫获取数据

后面彻底转到数据中心后,面对的就是海量的crud。框架是spring + mybatis。

每天就是写dao/xxx.java, xxx.xml, 不得不一直在这两种文件之间跳转,IDEA提供了 跳转到文件的快捷键,但是仍然需要手工输入文件名,并且跳转到xml文件后,仍然需要手工定位对应sql的位置。(可能我表达的不太清楚,不过有经验的同学应该都明白我说的跳转是什么)

于是我在某个周末的晚上写了一个插件可以方便的跳转,默认快捷键是CTRL + SHIFT + K,哈哈。



/**
 * Created by K on 2016/7/14.
 */
public class SqlJumpAction extends AnAction {

    private static final String sqlIdReg = "(?<=id=['\"])[a-zA-Z0-9]+(?=['\"])";

    private  static final Pattern sqlIdPattern = Pattern.compile(sqlIdReg);

    @Override
    public void actionPerformed(AnActionEvent e) {
        Project project = e.getData(PlatformDataKeys.PROJECT);
        try{

            PsiElement psiElement = e.getData(PlatformDataKeys.PSI_ELEMENT);
            ...

一个基本的插件基本上靠一个继承AnAction的类和plugin.xml就可以搞定了,效果如下。

在这之前我完全没有写插件的经验,java从0开始也就写了一年左右,完全是凭借着兴趣折腾出来的。 总结起来其实还是挺简单的,明白有哪些信息是可以拿到的,有哪些信息是需要拿到的,自然就可以写出来了。 IDEA可真是java开发神器,不过我还是更乐意写Python,毕竟人生苦短。