1

我为 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 文档中找不到我想要的东西。

4

1 回答 1

2

您可以只在完成中使用片段,因此您可以更改tf.Assert()tf.Assert($1)(jump out with tab) 或tf.Assert($0)

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

self.tf_completions = [("%s \tTensorflow" % s, s.replace("()", "($1)") for s in tensorflow_functions]
于 2017-06-26T16:07:04.083 回答