怎么写一个Sublime的插件(1)
现场直播, 和大家一起写一个Sublime的插件.
一些絮叨
-
Sublime到底是什么鬼?
Sublime其实就是一个文本编辑器, 和Vim一样. 它并不是一个商业的IDE, 所以别期待有官方或者他人为你提供太多的服务. 所以, 它用起来很累. 但是, 它整合其他编辑器的优点, 一旦你熟悉它, 它会让你很开心.综上, 累并快乐着!
-
怎么学习使用Sublime?
多看, 多思考, 勇于动手怎么安装一个插件?插件这么多, 一个插件一个配置, 一组快捷键. 假设装的插件足够多, 这些东西将会乱成一锅浆糊.
所以我不太想写一些格式化的教程. 照着别人的图文, 了解的是过程, 而不是方法.
好了, 直接从写插件开始!
创建一个插件
- 在../Sublime Text 3/Packages/目录下新建一个文件夹.
一个文件夹就是一个插件, 压缩打包改后缀为sublime-package
, 就是一个插件包. - 新建一个py文件.
名字最好和文件夹一样, 同时也是这个插件的名字. - 上面2步, 可以通过Sublime的Tools -> New Plugin实现, 保存文件到Packages目录下新建的文件夹即可
import sublime, sublime_plugin
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, "Hello, World!")
启动一个插件
- 新增一个快捷键
- super + shift + p
- 输入
key user
- 回车
{ "keys": ["f1"], "command": "example" },
启动插件的名字的规则
class ExampleCommand(sublime_plugin.TextCommand):
{ "keys": ["alt+shift+p"], "command": "example" },
class WorkTimeCommand(sublime_plugin.TextCommand):
{ "keys": ["alt+shift+p"], "command": "work_time" },
class SublimeTextPluginCommand(sublime_plugin.TextCommand):
{ "keys": ["alt+shift+p"], "command": "sublime_text_plugin" },
packages目录py文件里面, 所有继承sublime_plugin.XXXXX的类, 都可以通过快捷键启动.
名字改动的规则参考上面, 自己找规律吧:)
init是类的构造函数, Sublime插件的入口函数是
def run(self):
测试一下
- 按F1, 就会在当前文件中插入
Hello, World!
了. - print的结果, 报错信息, 都会出现在控制台里面.
控制台快捷键: Ctrl + `
- OK
-- Floyda --