手把手教你开发Android studio翻译插件

前言

由于我英语很烂,写代码的时候需要用英文命名,有些单词不知道,就只能切换到浏览器打开网页搜索,再拿到英文单词。这样每次都要切换出去,很麻烦,于是,就想着开发一个Android studio插件,在里面就能完成翻译工作。上网搜了搜Android studio插件开发教程,记录一下。

效果图

点击Android studio工具面板

输入要翻译的内容

就能得出翻译结果

如图所示,功能很简单:
1、点击Android studio 项目面板上的Tools里面的“翻译插件”
2、在弹出的对话框,填上需要翻译的内容,点击ok
3、就会弹出翻译结果弹框,复制翻译结果就好啦。

开始动手吧

1、下载工具

首先安装IntelliJ IDEA
下载网址:https://www.jetbrains.com/idea/

2、创建项目

安装完成后,新建一个项目,如下图:



点击next创建成功后,就会显示下面这个文件,里面是会报错的,要你修改了,才会显示正常,按照下面这样配置就行,类似 AndroidManifest 清单文件。


插件信息配置

id:相当于安卓的包名
name:会显示在Android studio插件列表

version:版本号
vendor:用户信息
description:插件描述信息,这里要求字数的,所以写多点,不然会一直报错。

3、新建Action

先在src目录,创建一个包,然后选择包,右键新建一个Action,如下图:



配置Action信息

Action ID:代表该Action的唯一id
Class Name:Action名字,类名啦
Name:这个会显示在菜单项那个标题
Description:描述

Groups:里面选择ToolsMenu(Tools),意思就是在Tools那个菜单栏。
Anchor:右边那个,选择First,就是在菜单栏的第一个位置
Keyboard Shortcuts:设置快捷键,根据你需要的设置,不要和别人重复就好

4、完善逻辑功能

新建完,就开始写代码啦,代码很简单,直接在上面注释了,看代码吧:

public class Translate extends AnAction {

    @Override
    public void actionPerformed(AnActionEvent e) {
        //弹出一个输入框,并获取输入框的内容
        String text = Messages.showInputDialog("请输入要翻译的内容", "提示", Messages.getQuestionIcon());
        if (text != null) {
            //网络请求,这个接口是百度翻译的,直接用
            HttpUtils.doGetAsyn("https://fanyi.baidu.com/transapi?from=auto&to=auto&query=" + text, new HttpUtils.CallBack() {
                public void onRequestComplete(String result) {
                    //请求成功后,用gson解析数据出来。
                    DataModel dataModel = new Gson().fromJson(result, DataModel.class);
                    //这个回调是线程里面的,所以要加个方法,不然会报错
                    ApplicationManager.getApplication().invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            //弹出翻译结果对话框
                            if (dataModel.getData().size() > 0) {
                                Messages.showInputDialog(text + "===>", "翻译结果", Messages.getInformationIcon(), dataModel.getData().get(0).getDst(), null);
                            }
                        }
                    });
                }
            });
        }
    }
}

那整个功能就完成啦,HttpUtils 类,是网上搜的。DataModel 类,是翻译的请求结果,用gson解析的。
整个工程就这样:


image.png
5、编译运行
image.png

完成了,就点击右上角这个运行符号,这个时候,他会重新打开一个IDEA界面,随便新建一个项目,这个时候,Tools那里就会“翻译插件”了。

6、插件打包

运行没问题后,就是打包了,然后给Android studio那边使用。


image.png

点击上面图的选项,会在项目目录生成一个 jar文件

7、在Android studio 安装插件
image.png

打开设置,点击 Install plugin from disk ,然后选择刚刚打包出来的那个jar。确定后,重启Android studio 就可以啦。

8、发布插件

如果想把这个插件发布给其他人用,参考下面这个地址:
http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/publishing_plugin.html

最后说几句

看完这篇文章,有没有想法做其他插件呢?有想法就干吧,逻辑想清楚,其他的就搜索去实现。
附上这个翻译插件,你们可以下载安装到Android studio 使用。
地址:Translate.jar

你可能感兴趣的:(手把手教你开发Android studio翻译插件)