2013-11-09 6 views
1

상황에 따라 변경되는 상황에 맞는 메뉴가있는 플러그인을 작성했습니다. 플러그인을 작성하는 방법이 있습니까?Sublime Text에서 Context.sublime-menu 항목의 상태를 변경하는 방법은 무엇입니까?

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 파일에 사용되어야한다 기본적으로 있기 때문에, 그것을 저장하지 않습니다.

답변

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 

설정 및 지정된 디렉토리 수를 확인합니다. 이 특정 예제는 사이드 바 컨텍스트 메뉴를 선택적으로 표시하는 데 사용됩니다.

관련 문제