Python 如何在Sublime Text 2中检测设置用户设置事件
我想处理一个事件,当我更改Python 如何在Sublime Text 2中检测设置用户设置事件,python,sublimetext,event-listener,sublime-text-plugin,Python,Sublimetext,Event Listener,Sublime Text Plugin,我想处理一个事件,当我更改首选项中的color\u scheme设置时会触发该事件。我正在为一个插件编写升华设置 我必须使用EventListener的on\u window\u命令,但它似乎没有启动 class MyPluginEvents(sublime_plugin.EventListener): def on_window_command(self, window, command_name, args): print " --- FIRE! --- " 我还尝
首选项中的color\u scheme
设置时会触发该事件。我正在为一个插件编写升华设置
我必须使用EventListener
的on\u window\u命令
,但它似乎没有启动
class MyPluginEvents(sublime_plugin.EventListener):
def on_window_command(self, window, command_name, args):
print " --- FIRE! --- "
我还尝试了post\u window\u命令
,但没有成功。有没有办法检测首选项何时更改?您链接到的那些文档是用于ST3的。这是ST2的文件。注意,窗口命令上没有。除此之外,您可能需要查看设置#添加更改
。我以前从未在API中使用过该方法,但根据描述,它应该可以满足您的需要
编辑
知道您已经有了解决方案,但是为其他任何人添加此解决方案。
您可能会绑定到一个事件,例如加载时的或新建时的,因此该命令将在任何新创建的视图上运行
import sublime_plugin
class TestCommand(sublime_plugin.TextCommand):
def run(self, edit):
settings = self.view.settings()
settings.add_on_change("color_scheme", self.callback)
def callback(self):
print(self.view.settings().get("color_scheme"))
您链接到的那些文档是用于ST3的。这是ST2的文件。注意,窗口命令上没有。除此之外,您可能需要查看设置#添加更改
。我以前从未在API中使用过该方法,但根据描述,它应该可以满足您的需要
编辑
知道您已经有了解决方案,但是为其他任何人添加此解决方案。
您可能会绑定到一个事件,例如加载时的或新建时的,因此该命令将在任何新创建的视图上运行
import sublime_plugin
class TestCommand(sublime_plugin.TextCommand):
def run(self, edit):
settings = self.view.settings()
settings.add_on_change("color_scheme", self.callback)
def callback(self):
print(self.view.settings().get("color_scheme"))
谢谢,我来看看!我不知道该如何在add\u on\u change
中注册回调,你能帮我举个例子吗?我用on\u deactivated
做过,我知道你有一个解决方案,但如果你愿意看的话,我添加了一个例子。谢谢,我会看的!我不确定如何在add\u on\u change
中注册回调,你能帮我举个例子吗?我用on\u deactivated
做过,我知道你有一个解决方案,但如果你愿意看的话,我添加了一个例子。