编写sublime插件

转载自:https://github.com/wangming1993/issues/issues/24


一.创建一个基本插件

  1. Preferences -> Browse Packages… 打开Packages文件夹,在里面创建一个子文件夹(例:MypluginFolder),用来存放我们自己的插件。
  2. Tools -> New Plugin… 创建一个新的插件。现在你所看到内容就是一个默认的示例,我们把它保存到我们刚才所创建的文件夹中(例:MyPlugin.py)。
  3. 使用快捷键:ctrl+` 来打开Sublime Txt的控制台,在输入框中输入:view.run_command(‘example’) 并按回车执行。如果在文件的最上方,看到”Hello, World!”字样的插入,那么你的第一个插件已成功执行了。
  4. 接着,我们把示例中的”ExampleCommand”改为你自己的插件名称(例:MypluginCommand)。
  5. 为了方便使用插件,还需要给它定义一个快捷键。在我们的插件目录下,创建Default (Windows).sublime-keymapDefault (Linux).sublime-keymapDefault (OSX).sublime-keymap这3个文件,它们分别对应的不同平台。如果我们是windows系统,那么打开刚才所创建的Default (Windows).sublime-keymap文件,输入:

    [
          {"keys": ["f12"], "command": "myplugin"}
    ]
    

注:这里有一个需要注意的地方,这里的command值必须是小写(例:MyPluginCommand -> my_plugin)。另外,如果我们的插件名称是驼峰式命名,那大小写之间要用”_”连接(例:MyPluginCommand -> my_plugin)。


二.把我们的插件加入到菜单栏

支持3种类型的菜单:

Main.sublime-menu 既所谓的顶部菜单,位于菜单栏具体菜单下
Side Bar.sublime-menu 侧边栏菜单,当在侧边栏右键时弹出
Context.sublime-menu 当在文字区域内右键是弹出的上下文菜单

这里我定义了3中菜单:
Main.sublime-menu, 内容如下:

[
  {
    "id": "tools",
    "children": [
      {
        "caption": "wade",
        "id": "wade",
        "command": "my_plugin"
      }
    ]
  }
]

效果为:在菜单栏Tools下面有一个 wade的菜单项

Side Bar.sublime-menu, 内容如下:

[
  {
    "caption": "wade",
    "command": "my_plugin"
  }
]

效果为:在侧边栏右键是可以看到一个 wade的菜单项

Context.sublime-menu, 内容如下:

[
  {
    "id": "wade",
    "command": "my_plugin",
    "caption": "wade"
  }
]

效果为:在文字区域右键有一个 wade的菜单项

很明显,这些文件都是以 json 数组的形式组织的,其内容表现为:

id 每一个菜单项的唯一标识
caption 相当于菜单的一个展示名称,所看到的效果
command 大小写敏感,所要执行的命令
children 用于定义子菜单


三.总结

到这里,一个简单的插件就定义完毕,这里只是表现了一个插件的组织结构,并不具备什么有用的功能,因为这里并没有结合API . 但千里之行始于足下,具备了完整的结构才可以继续开展壮大起来.

更多技术细节:

API手册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值