TL;博士
在目录中创建一个任意名称的Packages/User
文件。MyTestCommand
像使用run
方法一样在文件中创建一个类。使用蛇案例中的类名创建一个键盘映射,不带Command
后缀。使用命名参数将任何内容传递给命令。
完整答案
无需注册任何内容即可创建自定义命令。文件名无关紧要,因为 Sublime Text 只是扫描它的目录以查找.py
脚本并自动执行它们(注册它们)。
这是我使用的示例脚本:
import sublime
import sublime_plugin
class ChangeViewCommand(sublime_plugin.WindowCommand):
def run(self, reverse=False):
window = self.window
group, view_index = window.get_view_index(window.active_view())
if view_index >= 0:
views = window.views_in_group(group)
if reverse:
if view_index == 0:
view_index = len(views)
if reverse:
new_index = view_index - 1
else:
new_index = (view_index + 1) % len(views)
window.focus_view(views[new_index])
那么它的作用 - 切换到当前组中的下一个/上一个选项卡(默认行为围绕所有选项卡组)。
因此,我们只需将其保存为Packages/User
目录中的任何名称。
然后我们必须在我们的用户键映射文件中创建键绑定:
{ "keys": ["ctrl+tab"], "command": "change_view" },
{ "keys": ["ctrl+shift+tab"], "command": "change_view", "args": {"reverse": true} },
如您所见,该命令是不带后缀snake_case
的类名。Command
这将run
使用命名参数运行类的方法。
这回答了你的问题了吗?在出现任何错误时进行调试 - 打开 ST 控制台(默认快捷键是ctrl+ `)