Sublimetext3 SublimiteText3+EventListener-如何将类方法绑定到on_query_completions方法

Sublimetext3 SublimiteText3+EventListener-如何将类方法绑定到on_query_completions方法,sublimetext3,sublime-text-plugin,Sublimetext3,Sublime Text Plugin,我正在使用sublime_plugin.EventListener类创建SublimiteText3插件。我想用on_query_completions方法将key1替换为replace1。但我不能这样做。如何知道绑定类方法到on_query_completions方法?或者,如何选择另一种方式 class MyPlugin(sublime_plugin.EventListener): def on_query_completions(self, view, prefix, locati

我正在使用sublime_plugin.EventListener类创建SublimiteText3插件。我想用on_query_completions方法将key1替换为replace1。但我不能这样做。如何知道绑定类方法到on_query_completions方法?或者,如何选择另一种方式

class MyPlugin(sublime_plugin.EventListener):
    def on_query_completions(self, view, prefix, locations):
        """ success, but this is not to hoped """
        return [
            ['key1', 'replace1'],
            ['key2', 'replace2'],
        ]

    def on_query_completions(self, view, prefix, locations):
        """ not working, but this is I hoped """
        return [
            ['key1', self.replace1],
            ['key2', self.replace2],
        ]

    def replace1(self):
        return 'replace2'

    def replace2(self):
        return 'replace2'


由于self.replace1和self.replace2不是字符串,它们是函数方法,并且on_query_completions的返回值需要字符串,因此代码无法按编写的方式工作

如果您打算获得这些方法的结果并将其用作替换文本,则应调用它们,而不仅仅是引用它们:

进口升华 导入升华插件 类MyPluginsublime\u plugin.EventListener: 查询完成时定义自身、视图、前缀、位置: 不起作用,但这是我希望的 返回[ ['key1',self.replace1], ['key2',self.replace2], ] def replace1self: 返回“replace1” def replace2self: 返回“replace2”
def replace1self:应该返回'replace1',假设OP也意味着这似乎是可能的。最初,我只是为了说明代码不起作用的原因而忽略了这一点,但我同意最好让一个示例按预期工作。