IDEA插件开发总结
一:前置步骤
1.添加开发插件所需的SDK:
1.1先添加JDK
1.2打开Project Structure-Platform Settings-SDKs
1.3添加IntelliJ Platform Plugin SDK
1.4找到IDEA安装目录选择并OK
1.5为SandBox创建目录(最好也是创建在IDEA安装目录下)
2.下载安装gradle,为了能使用gradle命令;
二:创建工程
1.新建Gradle工程
1.1勾选Java和IntelliJ Platform Plugin这两个选项,SDK选择JDK1.8即可
1.2然后一路next即可;
上面的不要看了,不用Gradle,反正暂时用了一下不怎么好用,还是用网上常用的方式来创建;
2.新建Module选择IntelliJ Platform Plugin,然后SDK选择之前创建的;
2.1直接next,设置项目名然后Finish
3.对着src右键(或者Alt + Insert)选择Plugin DevKit选择Action
3.1在设置Action页面ActionID一般是包名+Action类名,后面两个Name就用Action类名即可,最后一个是备注
3.2可以在下面设置这个Action的所处的面板(包括顶上的如Build等一般以Menu后缀如BuildMenu),然后右侧选择所处Group的子栏;在下面可以设置Action的快捷键
4.接着就生成了自定义的Action,然后它的配置会在plugin.xml里;(上面是通过工具生成,也可以自己写个类实现AnAction类然后注册到plugin.xml里)
4.1在生成的Action的actionPerformed方法里添加
Messages.showMessageDialog("这个是我的测试弹窗!", "TestTile", Messages.getWarningIcon()); 然后运行Plugin即可,找到之前设置的自定义Plugin的按钮,点击; 注意,运行后会产生一个全新的(且未配置的)IDEA程序来模拟安装了该插件;
5.一些开发总结:
5.1对于AnActionEvent e有如下用法:(PSI是程序结构接口的意思)
先定义两个变量:Project project = e.getData(PlatformDataKeys.PROJECT);和VirtualFile file = e.getData(PlatformDataKeys.VIRTUAL_FILE);(如果要获取当前文件的光标相关信息,如光标所在行,被光标引用的字符串等信息用EDITOR)
然后:
// 项目名,即获取调用此插件的当前项目的名字,输出为demo-test-plugin-dev
String projectName = project.getName();
// C:/Users/liqi.wang/IdeaProjects/demo-test-plugin-dev
String projectBasePath = project.getBasePath();
// file://C:/Users/liqi.wang/IdeaProjects/demo-test-plugin-dev(这个和上面的区别就是这里获得的是BasePath目录的文件)
VirtualFile baseDir = project.getBaseDir();
// java
String typeName = file.getExtension();
// Entrance.java
String fileName = file.getName();
// C:/Users/liqi.wang/IdeaProjects/demo-test-plugin-dev/src/Entrance.java
String canonicalPath = file.getCanonicalPath();
5.2对于plugin.xml的配置的group-id有:1.HelpMenu是上面的Help;2.EditorPopupMenu.GoTo是右键当前文件的GoTo栏,而如果直接EditorPopupMenu则是直接在打开的文件上右键的一级菜单栏;
而ProjectViewPopupMenu则是右键左侧的Project中的如文件、目录时弹窗的列表;
5.3如果要开发在Settings里能配置的插件是new GUI Form,如果是插件按钮点击后有窗体是new Dialog;
posted on 2018-10-10 09:57 Silentdoer 阅读(3727) 评论(0) 编辑 收藏 举报