PyDev如何在代码块缩进中添加制表符?

6
我正在使用Eclipse Ingigo和Pydev 2.3.0.2011121518,它一直运行良好,但突然出现了选项卡的奇怪问题。
我已经为Eclipse首选项中的PyDev -> 编辑器设置了“键入时将制表符替换为空格”选项,并且这很好用,当我按tab键时,会得到4个空格。但是由于某种原因,现在当我创建一个块(例如“if”块)时,pydev会自动缩进下一行,正如它应该做的那样,但这次它会添加一个制表符,导致“混合缩进:找到制表符”警告。
有人以前见过这种行为吗?是否知道解决方法,还是这是Eclipse Indigo上Pydev的一个错误?

转到“常规”->“编辑器”->“文本编辑器”,确保在那里也选中了“制表符插入空格”,这可能与此有关。我已经选中了它和PyDev,我的代码完成正确使用空格。 - TyrantWave
3个回答

8

我刚刚解决了这个问题 - 我在Eclipse首选项--> PyDev --> 编辑器中勾选了"当文件包含制表符时,假定制表符间隔"选项。当我取消此选项后,自动缩进正常工作,并且添加了空格而不是制表符。似乎在我的某个文档字符串中有一些制表符(可能从另一个编辑器复制过来),这必须让Eclipse假定制表符间隔用于自动缩进(即使它仍然会在我输入时将制表符替换为空格)。


在我的情况下,我不得不取消选中另一个选项“键入时用空格替换制表符”,以抑制警告。 - kakyo

0
在mars2和PyDev 5.1.1上,我仍然遇到了这个问题。我已经勾选了“键入时替换制表符为空格”并取消勾选了“文件包含制表符时假定制表符间距”,但仍然出现了警告。我不得不将所有制表符替换为空格以消除此警告。

0
我曾遇到类似问题,对我来说错误是混合缩进:发现空格
解决方案:在Eclipse中使用Pydev,源代码菜单 -> 将Tab转换为空格-Tab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接