我希望制作一个Sublime Text 2插件,它将在屏幕底部的区域中显示信息,就像控制台一样。但是在这个区域我希望从我的插件中显示我自己的文本,与控制台无关。
以下是控制台打开的窗口的屏幕截图。
如何做到这一点?
答案 0 :(得分:11)
基本上,你需要的是
self.window.get_output_panel("textarea")
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 :(得分:3)
如果您正在寻找Sublime Text 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)