Pydev / Eclipse中的自动完成没有显示所有方法

时间:2014-09-23 17:48:53

标签: python eclipse autocomplete pydev

我已经使用Eclipse多年了(用于Java和Perl编程),但我最近才安装了PyDev,因为我想将它用作学习Python的IDE。

我的问题是,当我在变量名后面按周期符号时,自动填充建议列表不会显示该类型的所有方法。

E.g。在下面的屏幕截图中,我想在datetime模块中使用isoformat()方法。如果我手动键入variable.methodname,即end.isoformat(),代码工作正常。 但是,在键入时,如果我只是在变量End之后按下句点,则自动填充建议下拉列表不包含任何位置的isoformat。如您所见,datetime位于Forced builtins列表中,但似乎没有帮助。

我已经在网站上查看了有关PyDev自动完成问题的其他问题,但这些线程中建议的解决方案都没有解决我的问题。作为Python的初学者,一个有效的自动完成功能对我来说真的很有帮助。有人可以帮忙吗?

有关我的设置的详细信息:

  • Eclipse版本:Luna Release(4.4.0)Build id:20140612-0600
  • PyDev for Eclipse 3.7.1.201409021729
  • Python 2.7.3
  • Windows 8.1

编辑:Bah,StackOverflow不会让我发布截图图片,因为这是一个新帐户,我的信誉低于“10”。什么阻止我使用截图更清楚地沟通,与经验点有关?他们不冷静。

无论如何,我已经粘贴了下面的代码:

import  datetime


start = datetime.date(2014,7,7)
end = start + datetime.timedelta(days=180)
print(end.isoformat())

3 个答案:

答案 0 :(得分:0)

我唯一能想到的是 - 确保您拥有的解释器与您安装模块的解释器相同。

如果您已经验证过,您可以随时重新扫描模块(需要一点时间来构建索引)

答案 1 :(得分:0)

我想我找到了答案。

我认为由于Python的动态特性,在上面的代码片段中,代码编辑器不知道什么类型的对象将存储在变量'end'中,因此它不知道它将是日期对象,因此不会在自动填充建议中显示“isoformat()”。

当我输入变量'start'然后输入一个句点时,它确实知道它是一个日期对象,它确实在自动完成建议中显示'isoformat()'。

所以自动完成工作毕竟是有效的!那是一种解脱。 :)

答案 2 :(得分:0)

我认为您应该尝试使用Java 8版本。交叉检查eclipse采用java 8版本。然后只有pydev你可以在eclipse中查看。因为pydev需要Eclipse Luna中的Java 8版本。