选项卡在Python中工作不正常

选项卡在Python中工作不正常,python,eclipse,eclipse-plugin,pydev,Python,Eclipse,Eclipse Plugin,Pydev,我一直在使用NotePAD++编辑Python脚本。 我最近下载了PydevIDE(用于Eclipse)。 问题是,当我在NotePad++中编写脚本时,我使用“TAB”进行缩进,现在当我使用PyDEV打开脚本时,每次我尝试写新行而不是“TABS”,PyDEV都会插入空格。(即使我单击“TAB”键,Eclipse也会插入4个空格而不是一个选项卡)。 这会引起缩进错误 有没有办法解决这个问题 谢谢 是,请遵循以下说明: 压痕 Use 4 spaces per indentation level.

我一直在使用NotePAD++编辑Python脚本。 我最近下载了PydevIDE(用于Eclipse)。 问题是,当我在NotePad++中编写脚本时,我使用“TAB”进行缩进,现在当我使用PyDEV打开脚本时,每次我尝试写新行而不是“TABS”,PyDEV都会插入空格。(即使我单击“TAB”键,Eclipse也会插入4个空格而不是一个选项卡)。 这会引起缩进错误

有没有办法解决这个问题

谢谢

是,请遵循以下说明:

压痕

Use 4 spaces per indentation level.
将所有选项卡替换为空格,并将Notepad++设置为使用空格而不是选项卡


将Eclipse设置为使用制表符而不是空格将是一个错误的步骤。

制表符是有问题的。不同的人可以在编辑器设置中选择不同的宽度,然后会出现格式错误(例如C)或执行问题(Python)。因此,空间对于获得一致的合理结果更为有利。但有一个问题是,一些编辑器仍然默认使用选项卡

在我工作过的公司,我们的编码准则规定我们应该始终使用空格,而不是制表符。但默认编辑器设置有时会让我们感到困惑


在使用PyDev的Eclipse中,将选项卡转换为空格的快速方法是菜单项Source⇒将制表符转换为空格制表符。

将制表符与空格参数放在一边

要解决这个问题,您需要
在eclipse的首选项中选择“切换强制制表符”以使用制表符而不是默认空格。

谢谢,我不知道:/n您知道是否有快速转换制表符的方法(或者我需要逐行转换)?@Joel search and replace:\t by 4 spacesThanks,我不知道它可以找到\t但使用reg exp它确实可以:)这里有一个关于制表符与空格的广泛讨论:,我将其总结为“没有更好或更差的方法(但有很多狂热者)”。所以我想说,如果你已经有了并且喜欢标签,那么省去你的精力,保留它们。不同的人可以在他们的编辑器设置中选择不同的宽度,然后你就有了糟糕的格式真的吗?为什么设置每个选项卡显示的空格数会导致格式错误?@Piotr:两个主要原因:(1)使用选项卡对齐尾随注释不同长度的注释尾随行将根据选项卡宽度错误对齐。(2) 混合了为空格配置的编辑器/工具,但选项卡宽度不同,最终会导致不同选项卡设置的行不对齐。我承认(2)只影响空格和制表符的组合(如原问题),因此如果你能保证只使用纯制表符,那就不应该是问题。@Craig:我同意使用制表符来对齐尾随注释是个坏主意。然而,使用制表符进行缩进(也就是说,严格来说,只在行的开头)是完全不同的情况,在我看来,制表符比空格更有意义。我觉得有些编辑执著地坚持在任何地方都使用空格,这让我很恼火。@Craig关于你的第一点:(1)使用制表符对齐尾随注释不同长度的注释尾随行将根据制表符的宽度错误对齐。只有在忽略弹性止动块的情况下,这种推理才是正确的。如果编辑器支持弹性制表位,那么在这种情况下,制表位实际上也优于空格。看见