我已经编写了一个带有上下文菜单的插件,该菜单会根据情况发生变化,确实存在某种方式吗?
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
可能应该用于{{1}文件。
答案 0 :(得分: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
我检查设置和指定的目录数。此特定示例用于选择性地显示侧栏上下文菜单。