如何检测升华文本2中的set用户设置事件

2024-06-14 21:39:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想处理一个事件,当我为Sublime Text 2编写的插件更改位于Preferences.sublime-settings内的color_scheme设置时,该事件将触发。在

我已经read来使用on_window_commandEventListener,但它似乎没有启动。在

class MyPluginEvents(sublime_plugin.EventListener):
    def on_window_command(self, window, command_name, args):
        print " --- FIRE! --- "

我也试过post_window_command但没有成功。有什么方法可以检测到偏好何时发生变化?在


Tags: text插件readsettingson事件windowcommand
1条回答
网友
1楼 · 发布于 2024-06-14 21:39:04

你链接到的那些文档是ST3的。Here是ST2的文档。注意没有on_window_command。除此之外,您可能想看看Settings#add_on_change。我以前从未在API中使用过这种方法,但根据描述,它应该能满足您的需要。在

编辑

你知道你已经有了解决方案,但是给其他人加上这个。 您可能会绑定到一个事件中,例如on_load或{},因此该命令将在任何新创建的视图上运行。在

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"))

相关问题 更多 >