如果您正在寻找更好的自动补全功能,请尝试通过 Package Control 获得的SublimeCodeIntel 。索引您的内置模块和第三方包需要一些时间,但一旦准备好,它就会非常有帮助。例如,使用 Pandas,我可以定义一个数据框:
df = pd.DataFrame(some_input_data)
然后类型df.
和对象的所有关联类和方法DataFrame
出现。要进行设置,您需要将以下内容添加到您的用户首选项 ( Preferences -> Settings - User
):
"auto_complete_triggers":
[
{
"characters": ".",
"selector": "source"
}
]
以及您可能拥有的任何其他触发器。
更新
虽然 SublimeCodeIntel 是一个不错的软件包,但它并不总是能很好地工作——它有时会在查找新安装的模块时遇到问题,数据库可能会损坏,有时自动完成可能会有明显的延迟,它在使用 virtualenvs 时会遇到问题,有时它只是不起作用。如果您使用的是 Sublime Text 3,我强烈建议您使用Anaconda
相反(与 Anaconda Python 发行版无关)。一旦你设置了它(一个非常简短的过程,基本上你只需指定你想使用的 Python 解释器),它就可以工作了。没有要初始化或损坏的数据库,它会自动发现您何时添加了新包,它在后台运行非常不显眼......我不能说太多关于它的好话。它使用 JEDI 自动完成模块等,并且快速准确。它会自动确定类型变量是什么,并使用可以在其上调用的适当方法和类来填充补全。你也可以让它完成参数完成,但这对我来说有点烦人,所以我把它关掉了。它不能做的一件事是方法链接,但没有什么是完美的。它还包括用于代码复杂性检查和 linting 的模块,这很好,但我不需要它,并且只想在我想要 lint 时进行 lint,所以我也将其关闭。它和 SublimeCodeIntel 之间的另一个主要区别是 Anaconda 是 Python 特定的,而 SCI 支持多种不同的语言。
我强烈建议尝试一下 Anaconda。除了方法链接之外,我对它非常满意,并且没有回头。您可以做的一件很酷的事情是为"python_interpreter"
项目文件中的设置分配不同的值,这样您就可以轻松使用 virtualenvs,或者(像我一样)为 Python 2 编码打开一个项目,为 Python 3 打开另一个项目。