2013-03-16 11 views
9

Tôi muốn tạo một plugin Sublime Text 2 sẽ hiển thị thông tin trong một khu vực ở cuối màn hình, giống như bảng điều khiển. Tuy nhiên trong lĩnh vực này tôi muốn hiển thị văn bản của riêng tôi từ Plugin của tôi, không liên quan đến giao diện điều khiển.Làm cách nào để tạo plugin Sublime Text 2 với khu vực hiển thị tùy chỉnh ở dưới cùng, như bảng điều khiển?

Đây là ảnh chụp màn hình của cửa sổ có bảng điều khiển đang mở.

enter image description here

Làm cách nào để thực hiện điều này?

Trả lời

3

Và nếu bạn đang đi sau Sublime bản 3, nơi begin_edit() và end_edit() là 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

Về cơ bản, những gì bạn cần là

  1. Tạo một bảng điều khiển đầu ra: self.window.get_output_panel("textarea")
  2. Hiển thị bảng này: self.window.run_command("show_panel", {"panel": "output.textarea"})

Một ví dụ đơn giản được trình bày dưới đây. Và bạn có thể tham khảo lệnh exec trong gói mặc định: 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

Cảm ơn! Tôi ước họ đã đặt nó vào tài liệu API, nó sẽ giúp tôi tiết kiệm được 3 giờ. – P4ul