2013-03-16 39 views

回答

3

如果你崇高的文本3,其中begin_edit()和end_edit()是depreciated後打算:

class ShowTextAreaCommand(sublime_plugin.WindowCommand): 
    def run(self): 
     self.output_view = self.window.get_output_panel("textarea") 
     self.window.run_command("show_panel", {"panel": "output.textarea"}) 

     self.output_view.set_read_only(False) 
     # edit = self.output_view.begin_edit() 
     # self.output_view.insert(edit, self.output_view.size(), "Hello, World!") 
     self.output_view.run_command("append", {"characters": "Hello, World!"}) 
     # self.output_view.end_edit(edit) 
     self.output_view.set_read_only(True) 
11

基本上,你需要的是

  1. 創建輸出面板:self.window.get_output_panel("textarea")
  2. 顯示此面板:self.window.run_command("show_panel", {"panel": "output.textarea"})

一個簡單的例子如下所示。您可以參考缺省包中的exec命令:C:\Users\lhuang\AppData\Roaming\Sublime Text 2\Packages\Default\exec.py

class ShowTextAreaCommand(sublime_plugin.WindowCommand): 
    def run(self): 
     self.output_view = self.window.get_output_panel("textarea") 
     self.window.run_command("show_panel", {"panel": "output.textarea"}) 

     self.output_view.set_read_only(False) 
     edit = self.output_view.begin_edit() 
     self.output_view.insert(edit, self.output_view.size(), "Hello, World!") 
     self.output_view.end_edit(edit) 
     self.output_view.set_read_only(True) 
+1

謝謝!我希望他們把這個放在API文檔中,它會爲我節省3個小時.. – P4ul 2013-06-26 10:53:35

相關問題