【问题标题】:How to change the status of a Context.sublime-menu item on Sublime Text?如何更改 Sublime Text 上 Context.sublime-menu 项的状态?
【发布时间】:2013-11-09 21:10:27
【问题描述】:

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

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_settings,它可以正确加载它但它没有保存它,主要是因为它不是正确的方法,load_settings 可能应该用于.sublime-settings 文件。

【问题讨论】:

    标签: contextmenu sublimetext2 sublime-text-plugin


    【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多