本文连接:http://www.welefen.com/how-to-develop-sublime-text-plugin.htmlhtml
SublimeText是一个超赞的编辑器,具体有跨平台(window/linux/mac)和高性能等诸多特色,使用python开发,安装包10M都不到。若是你对SublimeText还不够了解,请阅读Sublime Text 2 入门及技巧,Sublime Text2:超赞的现代编辑器等文章。本文简单介绍如何使用python进行Sublime Text插件的开发。python
其实官方已经有了一篇文章来介绍如何开发Sublime Text插件,而且文本是使用Prefixr这个插件进行举例, 须要看的请移步到这里How to Create a Sublime Text 2 Pluginlinux
一、经过Tools -> New Plugin...来打开一个初始化的插件编辑文件,它将有以下的内容:git
import sublime, sublime_pluginclass ExampleCommand(sublime_plugin.TextCommand): def run(self, edit): self.view.insert(edit, 0, "Hello, World!")
二、经过Preferences -> Browse Packages...打开Packages文件夹,在该文件夹下创建个子文件夹,名字为你想开发的插件名字,如:KeymapManager。回到插件开发的初始化编辑器页面,经过ctrl+s (Windows/Linux) orcmd+s (OS X)保存这个文件,并放到你创建的子文件夹下,文件名如:KeymapManager.pygithub
三、经过ctrl+`快捷键打开SublimeText的控制台,执行以下的命令:json
view.run_command('example')
若是你在当前文件最前面看到插入了Hello, Word!,那代表插件执行成功了。sublime-text
四、ExampleCommand名字改成你想要的插件名字,如: KeymapmanagerCommand,而后就能够开发该插件对应的功能了。api
五、经过官方的API文档查找你须要的接口,文档见:http://www.sublimetext.com/docs/2/api_reference.html浏览器
六、插件开发完成后,下面就须要给插件绑定快捷键了,在你的插件目录下创建Default (Windows).sublime-keymap, Default (Linux).sublime-keymap and Default (OSX).sublime-keymap文件,他们分别是给不一样的平台使用的。内容大体以下:编辑器
[ { "keys": [ "ctrl+alt+k" ], "command": "keymapmanager" } ]
这个文件彻底是个JSON格式,ctrl+alt+k就表示这个插件的快捷键了,固然这个快捷键最好不要跟其余插件的快捷键冲突了。
七、若是你想把你的插件植入到顶部菜单或者右键菜单里,你能够经过创建下面的文件方式进行:
Main.sublime-menu 顶部菜单
Side Bar.sublime-menu 右键操做左侧Side Bar菜单
Context.sublime-menu
controls 右键操做文件菜单 文件内容也是个JSON个是,如:我想把插件植入到顶部菜单View下,能够经过下面的配置进行:
[ { "id": "view", "children": [ { "caption": "Keymap Manager", "id": "keymap-manager", "command": "keymapmanager" } ]} ]
八、这样下来一个插件差很少就开发完了,你能够将插件文件夹打包发给须要安装的同窗。固然这种方式太麻烦了,如今有各Package Control的插件,专门来管理插件安装的,相信你已经安装了。能够经过下面的步骤进行:
你须要有个github账号,并fork https://github.com/wbond/package_control_channel
经过git clone命令下载你fork完的地址,如: git@github.com:welefen/package_control_channel.git
修改repositories.json这个文件,把你的插件名称和对应的github项目地址添加进去
ci并push到你的package ctrol里,而后经过pull request推到官方的github里,若是他们审批经过了,那么你的插件就会放到package control里,别人就能够经过install直接安装了
九、最后推荐几个国人写的几个比较好的插件
GBK Encoding Support,月影大大的做品,能够经过package control执行安装。让Sublime Text执行GBK编码
sublime-view-in-browser,ququ的做品,用于浏览器预览当前文件,喜欢Editplus预览功能的强烈推荐,从这里下载
KeymapManager, 哈哈,这个是我写的,用来管理全部插件的快捷键的。若是不能记住全部插件快捷键的话,能够经过这个插件快速搜索出来,对应的github地址
最后为了方便Sublime Text的交流,和月影、ququ、a4等几位大大一块儿创建了个QQ群:193076432,欢迎你们加入。