【发布时间】:2016-07-04 15:35:23
【问题描述】:
我一直在尝试为 Sublime Text (3) 编写一个非常简单的插件,但是对于这个主题来说是新手,要么我遗漏了某些东西,要么某些东西没有按预期工作。
我想创建一个命令,将当前选项卡移动到指定组(例如组 0 以进行简化)。在那之后,我想专注于该组:
import sublime
import sublime_plugin
class MoveAndFocusToGroupCommand(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command("move_to_group",{"group": 0})
self.window.run_command("focus_group", {"group": 0})
之前的 sn-p 确实不工作。将执行第一个命令,但不会执行第二个命令。
如果我注释第一个命令,则执行第二个命令。
也许这些命令是在不同的线程上执行的,或者正在发生一些异步操作。
我还尝试在事件处理程序中运行第二个命令:
class MoveAndFocusToGroupCommand(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command("move_to_group",{"group": 0})
class MovedToGroupEventListener(sublime_plugin.EventListener):
def on_post_window_command(self, window, name, args):
if name == 'move_to_group' and args is not None:
window.run_command("focus_group", args)
但没有任何变化,焦点永远不会设置在第 0 组上。
我在这里错过了什么?
【问题讨论】:
-
第一个命令也应该将焦点设置到组。如果该组在移动后是空的,它似乎会创建一个视图,该视图会在您执行命令后抓住焦点。
标签: python sublimetext3 sublimetext sublime-text-plugin