MVPArmsHelper插件编写环境配置(一)

导航

MVPArmsHelper 网络代码自动生成插件
MVPArmsHelper插件编写环境配置(一)
MVPArmsHelper插件编写代码编写(二)

一、环境配置

1、IntelliJ IDE开发
https://www.jetbrains.com/idea/download/
建议下载 Community 免费版
2、groovy下载
https://groovy.apache.org/download.html
配置
.bash_profile文件添加

export PATH=$PATH:/Users/chentong/Android/groovy-2.5.6/bin
$ source .bash_profile

新建插件项目

选择IntelliJ Platform Plugin
MVPArmsHelper插件编写环境配置(一)_第1张图片

配置jdk
MVPArmsHelper插件编写环境配置(一)_第2张图片

运行项目报错
One of the two will be used. Which one is undefined.
解决方案:https://www.jianshu.com/p/26cefcc04fec

二、目录结构
MVPArmsHelper插件编写环境配置(一)_第3张图片
  • .idea: idea的一些配置信息。
  • out: 编译生成文件,
  • resources/META-INF/plugin.xml: 插件的一些描述信息
  • src: 这里就是我们要写代码的地方啦。
  • .iml: 项目的一些自动配置信息

配置插件信息


  com.network.helper.mvparmshelper
  ArmMVPHelper
  1.0
  陈桐

  ArmMVP框架 网络代码自动生成工具

  第一版

  
  

  
  

  
    
  


  
  
    
    
      
          
      
  


  • id: 插件唯一的id。
  • name: 插件显示的名字。
  • version: 插件版本
  • vendor: 里面分别是你的邮箱,公司网站或个人网站,公司名。
  • description: 插件的描述。
  • change-notes: 更新文档。
  • extensions defaultExtensionNs: 默认依赖的库。
  • actions: 注册动作Action类。

配置Action

新建Action


MVPArmsHelper插件编写环境配置(一)_第4张图片
public class NetworkHelper extends AnAction {
    @Override
    public void actionPerformed(AnActionEvent anActionEvent) {

    }
}

提供两个方法
1、获得光标下单词

public static PsiElement getPsiElement(Editor editor, PsiFile psiFile) {
        if (editor == null || psiFile == null) {
            return null;
        }
        CaretModel caret = editor.getCaretModel();
        PsiElement psiElement = psiFile.findElementAt(caret.getOffset());
        return psiElement;
    }

psiElement.getText();

2、获得当前复制内容

public static String getSelectedText(Editor editor) {
        if (editor == null) {
            return null;
        }
        return editor.getSelectionModel().getSelectedText();
    }

github 代码

https://github.com/yinlingchaoliu/MVPArmsNetworkHelper

你可能感兴趣的:(MVPArmsHelper插件编写环境配置(一))