Sublime text 3 自定义命令面板插件
Sublime text 3 Custom command palette plugin
我正在尝试构建一个可以在命令面板上访问其命令的插件。这个想法是每个命令都会要求在命令面板中输入文本,然后显示选项,然后将这些选项写入 view
。我到底该怎么做?哪里都没有好的文档!
到目前为止我有:
import sublime
import sublime_plugin
class QueryListInput(sublime_plugin.ListInputHandler):
def name(self):
return "my_list"
但后来我得到:AttributeError: 'module' object has no attribute 'ListInputHandler'
我研究并找到 this 答案,它告诉我只有开发版本才能访问此功能。真的吗?这是否意味着我的插件无法在常规版本上运行?
我想要的是:
- 用户打开命令面板
- 用户选择 MyCommand
- 用户在命令面板中键入一些文本
- 根据该文本向用户显示一些选项
- 用户选择一个写入sublime
view
这很简单,但我发现它很难完成。如果您能提供帮助,请提前致谢!
ListInputHandler
和 TextInputHandler
功能是 11 月 11 日随 build 3154 发布的新命令面板的一部分。截至目前,它仍然是开发者渠道独有的,并且更改尚未登陆最终版本。但这显然只是时间问题
目前已经在命令面板中为用户提供选择的插件不会为此目的使用这两种类型。相反,他们使用 window.show_quick_panel
来工作:
options = ['Foo', 'Bar', 'Baz']
def on_done(index):
if index >= 0:
print('Selected option was', options[index])
self.view.window().show_quick_panel(options, on_done)
我正在尝试构建一个可以在命令面板上访问其命令的插件。这个想法是每个命令都会要求在命令面板中输入文本,然后显示选项,然后将这些选项写入 view
。我到底该怎么做?哪里都没有好的文档!
到目前为止我有:
import sublime
import sublime_plugin
class QueryListInput(sublime_plugin.ListInputHandler):
def name(self):
return "my_list"
但后来我得到:AttributeError: 'module' object has no attribute 'ListInputHandler'
我研究并找到 this 答案,它告诉我只有开发版本才能访问此功能。真的吗?这是否意味着我的插件无法在常规版本上运行?
我想要的是:
- 用户打开命令面板
- 用户选择 MyCommand
- 用户在命令面板中键入一些文本
- 根据该文本向用户显示一些选项
- 用户选择一个写入sublime
view
这很简单,但我发现它很难完成。如果您能提供帮助,请提前致谢!
ListInputHandler
和 TextInputHandler
功能是 11 月 11 日随 build 3154 发布的新命令面板的一部分。截至目前,它仍然是开发者渠道独有的,并且更改尚未登陆最终版本。但这显然只是时间问题
目前已经在命令面板中为用户提供选择的插件不会为此目的使用这两种类型。相反,他们使用 window.show_quick_panel
来工作:
options = ['Foo', 'Bar', 'Baz']
def on_done(index):
if index >= 0:
print('Selected option was', options[index])
self.view.window().show_quick_panel(options, on_done)