我一直在尝试习惯pydev几天,我真的很喜欢它,但如果我保持自动导入选项,它会继续导入例如from test.test_iterlen import len
(和许多其他)每当我想要一个len(something)
,即使它没有必要。
另一方面,如果我完全关闭自动导入功能,当我执行len(某事)时,它只会在当前行之前插入空/空行并且它真的很烦人。
知道可能导致它的原因吗? 要么是非必要的导入,要么是空行。
Eclipse: Indigo Service Release 1
Eclipse platform: 3.7.1
PyDev: 2.3.0.2011121518
Python: 3.2.2
非常感谢!
答案 0 :(得分:1)
自动导入的工作方式是通过所谓的'代码完成(ctx不敏感)'...这里的主要问题似乎是你要求'len'的代码完成并且它在很多中被定义其他地方(你最终选择其中之一)。
所以,我认为,在你的情况下,如果你通常对短名称进行完成,一个更好的方法可能是提高字符的数量以显示那些完成(默认情况下,当至少有两个字符时,它会带来这些完成)。
您可以在以下位置配置:
窗口>偏好> pydev>编辑器>代码完成(ctx不敏感和常见令牌)。
并且将字符数更改为更高的数字(因为您可能要求完成2个字符来获取len,您可能希望将该请求放在3或4个字符中)。
另一种可能的方法是将'len'放在'常用令牌'列表中(在同一个首选项页面中),因此,当你打字时它会带来完成,你只需要选择它,实际上没有要求完成。
至于你在离开自动导入时报告的问题,我无法重现它(即:它没有添加任何空行),所以,如果你可以报告它作为一个很好PyDev bug跟踪器中的bug有更好的指令(即:源文件和重现步骤)。
答案 1 :(得分:0)
出现一个弹出列表,代码完成。向下滚动到len(object)
选项。使用Python 2.7,我无法重现您描述的怪异。可能有一些奇怪的Py3行为。