Sublime text 3自定义命令调色板插件

时间:2018-02-06 13:25:44

标签: python sublimetext3 sublime-text-plugin

我正在尝试构建一个插件,其命令可在命令面板上访问。我们的想法是每个命令都会在命令面板中询问文本输入,然后显示随后写入response=requests.get('https://url', stream='True', verify='your certificate.crt') handle=open('dest_file.txt','wb') for chunk in response.iter_content(chunk_size=512): if chunk: # filter out keep-alive new chunks handle.write(chunk) handle.close() 的选项。我怎么做到这一点?在任何地方都没有好的文档!

到目前为止,我有:

view

然后我得到:import sublime import sublime_plugin class QueryListInput(sublime_plugin.ListInputHandler): def name(self): return "my_list" 我研究并找到this回答,它告诉我只有开发构建才能访问此功能。真?这是否意味着我的插件不能在常规版本上工作?

我想要的只是:

  1. 用户打开命令面板
  2. 用户选择MyCommand
  3. 用户在命令面板中键入一些文本
  4. 向用户显示基于该文本的一些选项
  5. 用户选择一个并将其写入sublime AttributeError: 'module' object has no attribute 'ListInputHandler'
  6. 这很简单,但我发现很难完成。如果您能提供帮助,请提前致谢!

1 个答案:

答案 0 :(得分:2)

特别是ListInputHandlerTextInputHandler功能是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)