sublime Text插件用python编写,存于Packages目录,继承sublime_plugin.Command类;创建插件可通过Tools→Developer→New Plugin,保存为.py文件至User目录;命令通过命令面板、快捷键或菜单调用,命名需转为snake_case;常用类型有TextCommand、windowCommand和EventListener,如监听保存事件自动转大写;从简单示例入手,熟悉API与细节即可开发实用工具。

sublime text 是一款高度可定制的文本编辑器,支持通过 Python 编写插件来扩展功能。如果你希望提升工作效率或实现特定功能,写一个简单的 Sublime 插件是个不错的起点。下面是一份简明实用的入门指南。
理解 Sublime 插件的基本结构
Sublime 插件本质上是用 Python(版本 3.8+,对应 Sublime Text 4)编写的脚本文件,存放在特定的 Packages 目录下。每个插件通常是一个 .py 文件,包含一个继承自 sublime_plugin.Command 的类。
基本结构如下:
import sublime import sublime_plugin class HelloWorldCommand(sublime_plugin.TextCommand): def run(self, edit): self.view.insert(edit, 0, "Hello, World!")
这个插件定义了一个名为 HelloWorldCommand 的命令,它会在当前文件的开头插入一段文字。
创建你的第一个插件
按照以下步骤快速创建并运行一个插件:
- 打开 Sublime Text,点击菜单栏的 Tools → Developer → New Plugin…
- 会弹出一个模板文件,包含两个类:Event Listener 和 Command。删除不需要的部分,保留 TextCommand 示例。
- 修改类名和内容,例如改成上面的 HelloWorldCommand 示例。
- 保存为 hello_world.py,建议放在 Packages/User/ 目录下(可通过 Preferences → Browse Packages… 进入)。
保存后插件即刻生效,无需重启 Sublime。
如何调用插件命令
Sublime 插件命令可以通过多种方式触发:
- 命令面板(Command Palette):按下 Ctrl+Shift+P(macOS 为 Cmd+Shift+P),输入 “Hello World”,选择命令执行。
- 快捷键绑定:在 Preferences → Key Bindings 中添加:
{ "keys": ["ctrl+alt+h"], "command": "hello_world" }
注意:命令名是类名去掉 Command 后缀,并使用下划线命名法(CamelCase → snake_case)。 - 菜单或鼠标右键:可通过修改 .sublime-menu 文件将命令加入上下文菜单或工具栏。
常见类型与用途说明
Sublime 支持多种插件类型,最常用的是:
- TextCommand:作用于文本视图,可以修改内容,如插入、替换、格式化等。
- WindowCommand:作用于窗口级别,比如打开新标签、切换面板等。
- EventListener:监听事件,如文件保存、焦点变化,适合自动执行操作。
例如,监听保存事件自动转大写:
class OnSaveUppercaseListener(sublime_plugin.EventListener): def on_pre_save(self, view): region = sublime.Region(0, view.size()) content = view.substr(region) view.run_command("replace_all_text", {"text": content.upper()})
基本上就这些。从一个简单的命令开始,逐步熟悉 API 和运行机制,就能开发出真正有用的工具。官方文档和社区插件是很好的学习资源。不复杂但容易忽略细节,比如命令命名转换规则和 edit 对象的使用。多试几次,很快就能上手。


