我已经使用Eclipse多年了(用于Java和Perl编程),但我最近才安装了PyDev,因为我想将它用作学习Python的IDE。
我的问题是,当我在变量名后面按周期符号时,自动填充建议列表不会显示该类型的所有方法。
E.g。在下面的屏幕截图中,我想在datetime模块中使用isoformat()方法。如果我手动键入variable.methodname,即end.isoformat(),代码工作正常。 但是,在键入时,如果我只是在变量End之后按下句点,则自动填充建议下拉列表不包含任何位置的isoformat。如您所见,datetime位于Forced builtins列表中,但似乎没有帮助。
我已经在网站上查看了有关PyDev自动完成问题的其他问题,但这些线程中建议的解决方案都没有解决我的问题。作为Python的初学者,一个有效的自动完成功能对我来说真的很有帮助。有人可以帮忙吗?
有关我的设置的详细信息:
编辑:Bah,StackOverflow不会让我发布截图图片,因为这是一个新帐户,我的信誉低于“10”。什么阻止我使用截图更清楚地沟通,与经验点有关?他们不冷静。
无论如何,我已经粘贴了下面的代码:
import datetime
start = datetime.date(2014,7,7)
end = start + datetime.timedelta(days=180)
print(end.isoformat())
答案 0 :(得分:0)
我唯一能想到的是 - 确保您拥有的解释器与您安装模块的解释器相同。
如果您已经验证过,您可以随时重新扫描模块(需要一点时间来构建索引)
答案 1 :(得分:0)
我想我找到了答案。
我认为由于Python的动态特性,在上面的代码片段中,代码编辑器不知道什么类型的对象将存储在变量'end'中,因此它不知道它将是日期对象,因此不会在自动填充建议中显示“isoformat()”。
当我输入变量'start'然后输入一个句点时,它确实知道它是一个日期对象,它确实在自动完成建议中显示'isoformat()'。
所以自动完成工作毕竟是有效的!那是一种解脱。 :)
答案 2 :(得分:0)
我认为您应该尝试使用Java 8版本。交叉检查eclipse采用java 8版本。然后只有pydev你可以在eclipse中查看。因为pydev需要Eclipse Luna中的Java 8版本。