在自动完成列表中选择一个项目后移动光标

Move cursor after selected an item in autocompletion list

我为 SublimeText 实现了一个自动完成插件

import sublime_plugin
import sublime

tensorflow_functions = ["tf.AggregationMethod()","tf.Assert()","tf.AttrValue()","tf.AttrValue.ListValue()", etc...]

class TensorflowAutocomplete(sublime_plugin.EventListener):

    def __init__(self):

        self.tf_completions = [("%s \tTensorflow" % s, s) for s in tensorflow_functions]

    def on_query_completions(self, view, prefix, locations):

        if view.match_selector(locations[0], 'source.python'):
            return self.tf_completions
        else:
            return[]

当用户在自动完成列表中选择一个项目时,有什么方法可以将光标移动到括号中吗? 我没有尝试任何东西,因为我在 API 文档中找不到我想要的东西。

您可以只在完成中使用片段,因此您将 tf.Assert() 更改为 tf.Assert()(使用 tab 跳出)或 tf.Assert([=13=])

如果所有括号都为空,您只需将代码更改为:

self.tf_completions = [("%s \tTensorflow" % s, s.replace("()", "()") for s in tensorflow_functions]