我们经常会去Android studio的plugin中心寻找满足自己需要的plugin,我前段时间去找了一个Translate的插件,作者是bob。
这个插件是挺好用的,但是有个问题,就是他会在工具栏中生成一个独占一列的tab,我用的是mac,这样就会把整个工具栏占满,导致好多图标显示不出来,
比如qq、微信、电量等,这个很难受,然后我决定改造一个这个插件。

我查了一下,如何开发一个Android studio插件。
发现需要自己定义一个Action,然后把这个action通过一个plugin.xml注册到Android studio中,
注册的时候要指明这个action作用在工具栏还是右键菜单。
那我们只需要找到这个文件,然后修改就可以了。

首先需要找到这个插件存放的位置。查到在 ~/Library/Application Support/AndroidStudio4.0
这个翻译插件的名字竟然叫plugin.jar,别的插件都是已功能命名的,比如GsonFormat.jar

我需要对这个jar进行解压,命令为:

unzip -x -q plugin.jar -d plugin

查看一下jar包里边都有啥

.
|____META-INF
| |____MANIFEST.MF
| |____plugin.xml
|____translate_tool_window
| |____logo.png
|____com
| |____huangmb
| | |____idea
| | | |____省略
| |____intellij
| | |____uiDesigner
| | | |____省略

查看plugin.xml

<idea-plugin version="2">
    .......
    <actions>
        <!-- Add your actions here -->
        <group id="Hello" text="Translate" description="translate plugin">
            <separator/>
            <add-to-group group-id="MainMenu" anchor="last"/>
            <add-to-group group-id="EditorPopupMenu" relative-to-action="EditorToggleColumnMode" anchor="after"/>
            <add-to-group group-id="MainToolBar" anchor="last"/>
            <add-to-group group-id="NavBarToolBar" anchor="last"/>
            <action id="TranslatePlugin.TranslateAction"
                    class="com.huangmb.idea.action.TranslateAction"
                    text="Translate"
                    icon="/translate_tool_window/logo.png"
                    description="toggle translate">
                <keyboard-shortcut keymap="$default" first-keystroke="ctrl meta T"/>
            </action>
        </group>
    </actions>
</idea-plugin>

需要删掉group-id=”MainMenu”的那一行,删除后重新打包

jar cvf plugin.jar META-INF/MANIFEST.MF *

然后打开Android studio卸载旧的插件,然后选择从磁盘安装插件,选择我们新生成的那个jar。

重启Android studio。

一切都变得顺滑了。。。