gpt4 book ai didi

python - 在句点 (`self` 关键字之后 Python 的烦人的 sublime 文本自动完成)

转载 作者:太空狗 更新时间:2023-10-30 01:57:42 24 4
gpt4 key购买 nike

我正在使用 sublime text 3 进行 python 开发。我在输入时打开了自动完成功能,这很有效。我希望,当我键入一个对象名称后跟一个句点时,会弹出一个对象的方法/属性列表。它没有发生,所以我按 Tab

import time
time.[TAB]

现在发生的事情,真是太奇怪了! . 被替换为 self.,所以我最终得到了

import time
timeself.

我正在查看所有设置文件,我尝试了包 python completionscode intelcode complice,但没有一个禁用它“功能”,让我抓狂!

最后,我找到了 Jedi 包,它为文本编辑器解决了这个问题。但是我在解释器窗口中仍然有问题(package SublimeREPL)。顺便说一句,如果我同时安装 Jedicode complice,REPL 中的自动完成功能似乎会更好,但它会提供一些不相关的废话,例如 %%! %%HTML。是的,如果我按 [TAB] 两次,我仍然会得到 timeself. 而不是 time.!

有人知道这是怎么回事吗? . -> self. 行为来自哪里?如何禁用 %%! 东西?

最佳答案

我自己也遇到过这个问题,很难查到。

问题不是由任何包引起的。我在运行默认构建的 Sublime text 3 后发现。虽然我强烈推荐 Anaconda(如 MattDMo 所述),但安装 Anaconda 时也会出现此问题。

问题:

问题的原因是 Sublime Text 3 附带的默认 Python 片段称为 self.sublime-snippet,如下所示:

<snippet>
<content><![CDATA[self.]]></content>
<tabTrigger>.</tabTrigger>
<scope>source.python</scope>
<description>self</description>
</snippet>

在 Sublime text 2 中,可以简单地删除此文件,但 ST3 中的默认代码段不是以相同方式存储的,因此无法轻松删除此文件。

解决方案:

This stack overflow answer解释了如何提取一种语言的包信息,在本例中为 Python。然后可以正常删除该片段。

更新:

由于这个问题,该片段现已从源代码中删除。可能包含在下一次更新中。来源:https://github.com/sublimehq/Packages/issues/473

关于python - 在句点 (`self` 关键字之后 Python 的烦人的 sublime 文本自动完成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36940729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com