Autocomplete 升华水蟒包装滥用自动完成(移除特定触发器)

Autocomplete 升华水蟒包装滥用自动完成(移除特定触发器),autocomplete,sublimetext,sublime-anaconda,Autocomplete,Sublimetext,Sublime Anaconda,我使用的是巨蟒包装的升华文本。一切都很好,我喜欢。事实上,它工作得有点太好了,尤其是自动完成 每次我在需要冒号的语句(def、if、for、class等)后面写冒号(:)时,它都会显示一个我无法避免的自动完成列表。每一次,我都必须写一个空格并将其擦除,以便能够使用回车键进入下一行 如果我在不需要的地方写冒号,它将不会打开自动完成列表。 如果我关闭auto_complete,它会阻止它的发生,但这并不理想,因为我总体上喜欢auto_complete 我知道如何为自动完成添加触发器。有没有一种方法

我使用的是巨蟒包装的升华文本。一切都很好,我喜欢。事实上,它工作得有点太好了,尤其是自动完成

每次我在需要冒号的语句(def、if、for、class等)后面写冒号(:)时,它都会显示一个我无法避免的自动完成列表。每一次,我都必须写一个空格并将其擦除,以便能够使用回车键进入下一行

如果我在不需要的地方写冒号,它将不会打开自动完成列表。 如果我关闭auto_complete,它会阻止它的发生,但这并不理想,因为我总体上喜欢auto_complete


我知道如何为自动完成添加触发器。有没有一种方法可以移除特定的触发器(这里是冒号(:)?

以防其他人也有同样的问题。 我在这里找到了答案:

正如马特莫所说,这是一个错误。建议的临时解决方案是ZitCode的一篇文章(请参见上面的链接了解源代码):

我已经找到了一个解决方案(它正在工作,但我认为它应该是一个解决方案) 临时解决方案“因为它只是在“:”为 键入)在文件listeners/completion.py中(可通过单击 “首选项/浏览软件包”以升华文本显示,然后打开Anaconda 文件夹)添加行

if int(sublime.version()) > 4000:
    if view.substr(view.sel()[0].begin() - 1) == ':':
        return 
在函数
中的86行
view=active\u view()
下完成。该文件应如下所示:

def _complete(self, data: Dict[str, Any]) -> None:

    view = active_view()
    if int(sublime.version()) > 4000:
        if view.substr(view.sel()[0].begin() - 1) == ':':
            return
    proposals = data['completions'] if data['success'] else []

首先,我会在Github上的项目回购中提交一个bug。这个插件是主动维护的,所以很可能很快就能设计出一个修复程序。是的,好主意,谢谢。我应该考虑一下。我会马上做。谢谢你的编辑MattDMo(抱歉>