【问题标题】:Eclipse PyDev auto-import malfunctioningEclipse PyDev 自动导入故障
【发布时间】:2012-01-30 16:35:33
【问题描述】:
我已经尝试习惯 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
非常感谢!
【问题讨论】:
标签:
python
eclipse
import
pydev
blank-line
【解决方案1】:
自动导入通过所谓的“代码完成(ctx 不敏感)”来工作......这里的主要问题似乎是您正在请求“len”的代码完成,它在许多其他地方(你最终会选择其中一个)。
所以,我认为在您的情况下,如果您通常对短名称进行补全,更好的方法可能是增加字符数以显示这些补全(默认情况下,当至少有 2 个字符可用时,它会带来这些补全)。
您可以在以下位置进行配置:
window > preferences > pydev > editor > code completion(ctx insensitive 和 common tokens)。
并将字符数更改为更高的数字(因为您可能请求用 2 个字符完成以获取 len,您可能希望将该请求放入 3 个或 4 个字符中)。
另一种可能的方法是将“len”放在“通用标记”列表中(在同一个首选项页面中),因此,它会在您键入时完成,您只需要选择它,而没有实际请求完成。
至于您在关闭自动导入时报告的问题,我无法重现它(即:它没有添加任何空行),因此,如果您能将其报告为PyDev 错误跟踪器中的错误,具有更好的说明(即:源文件和重现步骤)。
【解决方案2】:
应该会出现一个弹出列表,其中包含代码完成。向下滚动到 len(object) 选项。使用 Python 2.7,我无法重现您所描述的怪异之处。可能会有一些奇怪的 Py3 行为。