1

我写了一个带有上下文菜单的插件,它会根据情况而变化,是否存在某种方式来做到这一点?

plugin_menu = sublime.load_settings('Context.sublime-menu')
children = plugin_menu.get('children')
children[0]["caption"] = "Message changed"
plugin_menu.set('children', children)
sublime.save_settings('Context.sublime-menu')

我已经尝试使用load_settingswhich 正确加载它但它没有保存它,主要是因为它不是正确的方法,load_settings可能应该用于.sublime-settings文件。

4

1 回答 1

1

您必须为每个操作创建一个命令,但您可以利用该is_visible方法。这是它的用法示例。

class AdvancedNewFileAtCommand(sublime_plugin.WindowCommand):
    def run(self, dirs):
        if len(dirs) != 1:
            return
        path = dirs[0]
        self.window.run_command("advanced_new_file", {"initial_path": path + os.sep})


    def is_visible(self, dirs):
        settings = sublime.load_settings("AdvancedNewFile.sublime-settings")
        return settings.get("show_sidebar_menu", False) and len(dirs) == 1

我检查设置和指定的目录数量。此特定示例用于选择性地显示侧栏上下文菜单。

于 2013-11-09T23:29:46.090 回答