1

我已经尝试习惯 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

非常感谢!

4

2 回答 2

1

自动导入通过所谓的“代码完成(ctx 不敏感)”来工作......这里的主要问题似乎是您正在请求“len”的代码完成并且它在许多其他地方定义(你最终会选择其中之一)。

因此,我认为在您的情况下,如果您通常对短名称进行补全,更好的方法可能是增加字符数以显示这些补全(默认情况下,当至少有 2 个字符可用时,它会带来这些补全)。

您可以在以下位置配置它们:

窗口 > 首选项 > pydev > 编辑器 > 代码完成(ctx 不敏感和通用标记)。

并将字符数更改为更高的数字(因为您可能请求用 2 个字符完成以获得 len,您可能希望将该请求放入 3 个或 4 个字符中)。

另一种可能的方法是将“len”放在“通用令牌”列表中(在同一个首选项页面中),因此,它会在您键入时完成,您只需要选择它,实际上不需要请求完成。

至于您在关闭自动导入时报告的问题,我无法重现它(即:它没有添加任何空行),因此,如果您可以将其报告为PyDev 错误跟踪器具有更好的说明(即:源文件和重现步骤)。

于 2012-01-04T18:04:27.980 回答
0

应出现一个弹出列表,其中包含代码完成。向下滚动到len(object)选项。使用 Python 2.7,我无法重现您描述的怪异之处。可能会有一些奇怪的 Py3 行为。

于 2011-12-30T17:40:40.810 回答