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

标签 sublimetext sublime-text-plugin package-control

我为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($1)(使用标签跳出)或tf.Assert($0)
如果所有括号都为空,则只需将代码更改为:

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

关于sublimetext - 在自动完成列表中选择一个项目后移动光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44762502/

相关文章:

ruby-on-rails - 用于 Ruby on Rails 开发的 Textmate 1.5 和 Sublime Text 2 之间的区别

sublimetext2 - 如何通过颜色区分 Sublime Text 中的偶数行和奇数行

sublimetext3 - packagecontrol.io 无法正常工作。如何安装包控制和安装包?

java - 有没有办法向 Sublime Text 2 添加对 Java 的自动完成支持?

javascript - 为什么在 Sublime 中工作时我的 javascript 代码中会出现红条

sublimetext - 从AutoHotkey写入Sublime Text 3中的(Build)Output面板

sublimetext2 - on_load 方法没有按预期工作

sublimetext3 - 在 Sublime Text 中将突出显示与文件名而不是扩展名相关联

sublimetext2 - Sublime text 的包网站有 API 吗?

sublimetext2 - Sublime Text 2 中不再有 SideBarEnhancements?