题 Eclipse多行缩进使用制表符而不是空格(pydev)


当我在Eclipse中突出显示一个文本块并按TAB时,它会在每行的头部插入一个选项卡。我希望它插入4个空格。

我需要在具有自定义扩展名的文件上执行此操作:* .shpaml

我安装了PyDev。


17
2018-01-25 19:26


起源




答案:


我正在考虑使用PyDev编辑器打开* .shpaml ...

有2个与此相关的偏好:

在窗口>首选项> PyDev>编辑器中,您可以选择'在键入时用空格替换制表符?'并在同一页面'假设文件包含标签时的标签间距?'。

所以,可能你已经检查了,你的* .shpaml中有一些标签,这使得PyDev可以使用标签...如果你取消选中'当文件包含标签时'假设标签间距?',它应该做你想要的。


9
2018-01-27 14:56





你应该能够在这里设置“空格而不是制表符”:

  Eclipse, Window, Preferences, General, Editors, Text Editors,
      Insert spaces for tabs=Y

7
2018-01-25 19:31



这似乎只适用于单行缩进。只有“插入空格for tabs = Y”设置,我仍然在尝试缩进代码块时插入TAB字符。 - Vivek M. Chawla
我也是。如果您选择一些文本然后点击Tab键(它不必是多行选择),您将获得标签 - scarba05


使用设置: Eclipse,Window,Preferences,General,Editors,Text Editors,       勾选'在输入时用空格替换标签'       这是旧版Eclipse中的“为标签插入空格”)

新名称更清楚地表明此选项仅适用于键入而不是使用Tab键缩进。

 Also untick setting 'Assume tab spacing when files contain tabs'
 Otherwise Eclipse will still fall vack to tab spacing when files contain tabs'. 

在其他编辑器中打开文件可能仍会导致选项卡。

从文件中删除所有现有选项卡也是明智之举。     打开每个文件,然后从查找 - 替换功能(Ctrl-F),勾选'正则表达式',然后查找:\ t和替换4个空格。

Or Source -> 'Convert tabs to space-tabs'

但是,Shift左侧和多行选项卡键仍会插入选项卡。 有两个选项是使用上述方法之一将标签转换回空格,或者使用标签或右移,右键单击选定的块,然后选择“快速修复”选项之一,例如使用if,while或try - 如果这在上下文中是合适的。


6
2018-04-29 02:07



这是一个被低估的提示 untick setting 'Assume tab spacing when files contain tabs' 谢谢! - PatrickT


另外,当确保模块符合PEP8并且必须为已经编写的代码执行此操作时,我遇到了同样的问题,在这种情况下,上述方法不起作用。

转到Windows>首选项? PyDev?文本编辑器单击显示空白字符。突出显示一个选项卡,然后单击cntrl f。将制表符空白粘贴到查找框中,将四个空格粘贴到替换为框中。点击全部替换。


0
2017-11-19 20:44