时间:2021-05-19
声明:作者是根据 Hongyang的博客自己实践之后,根据自己的理解写的,有什么不对的地方还望指正。
先放两张效果图
在此处创建的plugin工程,如下图所示
填写完工程名之后, 创建的工程结构如下所示
其中plugin.xml就和j2ee中web.xml功能类似,是配置插件属性的地方。
首先,new一个Action,在弹出界面简单填写类的信息,如下图
其中第一部分是类相关的信息,ActionID表示一个独一无二的名字,就像Android清单文件中的包名一样。
第二部分是将这个功能添加到哪个菜单中去,当前选择的是添加到Edit菜单中并且作为第一个子菜单。
第三部分是这个功能的快捷键,可将光标置于输入框内,点击键盘进行输入
可以看到在生成的类中有public void actionPerformed(AnActionEvent e) 这个方法,关键的地方就在这个方法中,在IDE中几乎所有操作都可以在此方法中捕捉到。如下图
首先获取选中的文字,调用以下api
final Editor mEditor = e.getData(PlatformDataKeys.EDITOR); if (null == mEditor) { return; } SelectionModel model = mEditor.getSelectionModel(); final String selectedText = model.getSelectedText(); if (TextUtils.isEmpty(selectedText)) { return; }获取到选中的文字之后,就可以调用申请到的有道翻译接口进行翻译,要翻译的文本,必须是UTF-8编码,字符长度不能超过200个字符,需要进行urlencode编码。翻译完成之后就可以以一个类似popupWindow的窗口将接口展示出来了。
private void showPopupBalloon(final Editor editor, final String result) { ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { JBPopupFactory factory = JBPopupFactory.getInstance(); factory.createHtmlTextBalloonBuilder(result, null, new JBColor(new Color(186, 238, 186), new Color(73, 117, 73)), null) .setFadeoutTime(5000) .createBalloon() .show(factory.guessBestPopupLocation(editor), Balloon.Position.below); } }); }点击绿色运行按钮,测试成功后就可以生成安装包了。在Build菜单中选择Prepare Plugin Module ‘your project name' For Deployment就可以生成安装包了。
我只是为了自己用,所以没有在plugin.xml文件中添加更多的详细信息,至于怎么发布到插件库,还请大家自行google,下面是完整的代码。点击这里下载我编译好的插件,zip格式的。
完整代码如下:
action 类
TranslateBean
import java.util.List;/** * Created by huangyuan on 16-7-17. */public class TranslateBean { private BasicBean basic; private String query; private int errorCode; private List<String> translation; private List<WebBean> web; public BasicBean getBasic() { return basic; } public void setBasic(BasicBean basic) { this.basic = basic; } public String getQuery() { return query; } public void setQuery(String query) { this.query = query; } public int getErrorCode() { return errorCode; } public void setErrorCode(int errorCode) { this.errorCode = errorCode; } public List<String> getTranslation() { return translation; } public void setTranslation(List<String> translation) { this.translation = translation; } public List<WebBean> getWeb() { return web; } public void setWeb(List<WebBean> web) { this.web = web; } public static class BasicBean { private List<String> explains; private String phonetic; public String getPhonetic() { return phonetic; } public void setPhonetic(String phonetic) { this.phonetic = phonetic; } public List<String> getExplains() { return explains; } public void setExplains(List<String> explains) { this.explains = explains; } } public static class WebBean { private String key; private List<String> value; public String getKey() { return key; } public void setKey(String key) { this.key = key; } public List<String> getValue() { return value; } public void setValue(List<String> value) { this.value = value; } } @Override public String toString() { StringBuffer webStringBuffer = new StringBuffer(); for(int i =0;i<web.size();i++) { webStringBuffer.append(web.get(i).getKey() +":\t"); for(int j =0 ;j<web.get(i).getValue().size();j++) { webStringBuffer.append(web.get(i).getValue().get(j)); } webStringBuffer.append("\n"); } StringBuffer translateBuffer = new StringBuffer(); for(int i = 0;i<basic.getExplains().size();i++) { translateBuffer.append(basic.getExplains().get(i) +"\n"); } return query +"\n" + basic.getPhonetic() +"\n" + translateBuffer.toString() +"\n网络释义+\n" + webStringBuffer.toString(); }}到此这篇关于初步编写IDEA\AndroidStudio翻译插件的文章就介绍到这了,更多相关IDEA AndroidStudio翻译插件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
当把AndroidStudio升级到4.1以后插件提示不可用,然后启动的报下面的错:错误的意思是该插件只支持IDEA,然后想把这个插件删除,发现在已安装的插件中
非常详细的IDEA安装vue插件的方法,供大家参考,具体内容如下1.idea上面安装vue插件(到这里idea安装vue插件就好了,接下来我们开始搭建我们后台管
下载IDEA插件IDEA插件选择版本号下载与IDEA版本号相近的插件打开IDEA,导入下载好的插件在File下找到setting在Plugins中选择Insta
一:IDEA下使用MyBatisCodeHelper插件.(IDEA的版本20182.5亲测可用)1.1IDEA安装MyBatisCodeHelper插件.My
安装jetty插件1.找到Plugins,查找jetty插件,安装“IDEAJettyRunner”,安装好后重启IDEA安装插件:MavenHelper方法同