我已经安装了 SublimeCodeIntel 和 SublimeJEDI ,但我没有从导入的库中获得自动完成功能。
我需要做什么才能从导入的库中获取可用的方法,比如Sublime Text 2中的MySQLdb?在Pycharm中,如果我导入一个库,我会从该库中获取所有可用的方法作为来自Google搜索的建议。但在Sublime Text中并非如此。是否有任何其他插件我必须安装才能获得此功能?
答案 0 :(得分:1)
我最好的建议是升级到Sublime Text 3并使用Anaconda
代码完成。 ST3在ST2上有许多新功能,在幕后,API有很多变化,使编写和支持插件非常容易 - 不幸的是,一些变化是向后兼容的。 ST2内部包含Python 2.6,而ST3包含Python 3.3,因此开发人员基本上需要支持两个单独的代码库,或者有许多丑陋的if ST2: do this; else: do that
类型的构造。结果是许多插件作者选择仅支持ST3,这意味着ST3可用的包比ST2多得多,这包括Anaconda
。 " beta" ST3版本(目前版本为3065)与ST2一样稳定。如果你是registered user(而你应该是!),那么你可以访问最前沿的development builds(构建3081几小时前刚刚发布),它有很多新的功能,但有时不太稳定。我一直在使用ST3(除非我需要在ST2上测试一段时间)已经超过一年了,并且没有任何问题。
就Anaconda
而言(它与Anaconda Python发行版没有任何关系),我只是喜欢它。我曾经使用SublimeCodeIntel
,但配置起来有点困难,花了很长时间来索引文件,而且通常情况下效果不好,如果有的话。 Anaconda使用静态分析来确定变量的类型,并通过自动完成提供适当的方法和属性。您需要做的就是指定Python在您的计算机上的位置,它将自动配置为使用该版本的标准库,以及您可能已安装的任何第三方模块。它可以通过.sublime-project
文件独立配置,因此您可以根据您正在处理的项目使用不同的解释器版本 - 它也适用于virtualenvs。最后,它提供了通过PEP8,PyLint和/或PEP257的内置linting,如果你是如此倾向(我只是关闭它,因为我认为它很烦人,但它对新手编码器非常有帮助) 。除了它正常工作之外,Anaconda
的最佳功能是它完全异步,因此如果它有一个不可恢复的错误,它不会减慢ST3的速度或使其崩溃。通过我喜欢的另一个原因,我从来没有让它崩溃。
最后,万一你想知道,我与Anaconda
项目根本没有任何联系,只有一个pull request删除了一个角色 - 我只是非常满意用户。