最近正研究怎么使用SublimeText3开发Python,然而对Python英文文档的阅读是一个比较头疼的问题,在AndroidStudio中有自动翻译插件ECTranslation,能方便的翻译单词和句子。因此想仿照ECTranslation,自己写一个翻译插件,正好也能加深对Python的印象。(在SublimeText3中,似乎没有特别好用的划词翻译插件)
开发ST3的插件,大致上是以下几个步骤:
1. 搭框架
SublimeText的Tool菜单下选New Plugin ,将会新建一份.py模版文件,将其保存到Package目录下,插件主体就弄好了。如果需要添加到右键菜单、窗口菜单、快捷键,只需要定义相应的文件即可。这里,划词翻译需要快捷键支持,所以还需在当前目录下新建sublime-keymap 文件(注意这个文件的文件名,支持什么系统就在括号中书写,而且Default 和系统名之间的空格不能省略)。目录结构如下:
2. 编写代码
SublimeText3 API中写明了ST3公开的接口,其实ST3的插件就是一个Command,其中分为 ApplicationCommand、TextCommand、WindowCommand。可以根据需要继承不同的Command类实现不同的功能,这里需要获取选中的文本然后翻译,所以插件继承TexCommand。而后在run方法中书写插件要完成的动作即可。划词插件的动作很简单:
1. 得到鼠标选择的文本。
2. 发送到百度翻译API(不够准确,以后可以用有道API替换&