2015-12-17 120 views
4

我想創建一個文本崇高3插件,在當前窗口寫輸出到輸出面板。我發現了很多的例子做這個使用begin_edit和end_edit,這是在ST3不再支持。據我瞭解,ST3要求我定義一個TextCommand以支持在我的輸出面板上進行編輯操作。到目前爲止,我已經是這樣的:崇高的文本3:編寫文本輸出面板

class SfprintCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     self.view.insert(edit, self.view.size(), 'hello') 

class SfCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     self.panel = self.view.window().create_output_panel('sf_st3_output') 
     self.view.window().run_command('show_panel', { 'panel': 'output.sf_st3_output' }) 
     self.panel.run_command('sfprint'); 

我會認爲這應該打印的文字在我的輸出面板中的「你好」,但是當我試圖(通過運行view.run_command('sf'))通過控制檯來調用這個,這個顯示新面板但不打印任何信息。我怎樣才能給這個面板寫文字?

+0

作品對我來說...你可以驗證'self.view.id()'在SfprintCommand的run方法是一樣的''self.panel.id在Sfcommand的run方法()? Sublime控制檯中是否有錯誤? –

回答

2

重啓一切後,同樣的代碼,似乎現在的工作。我的經驗教訓:顯然最好的做法是不要對ST3的熱插件重新加載太多信心!