使用Eclipse将空格替换为选项卡

使用Eclipse将空格替换为选项卡,eclipse,indentation,Eclipse,Indentation,我从网上下载了一些代码,四个空格的缩进把我烦透了。我尝试对“”进行查找和替换,并将其替换为“\t”,但这只是将所有空格集替换为字符串“\t”。如何在“替换”框中添加选项卡?我找到了答案。我只需选中“使用正则表达式”复选框,然后使用\t 从菜单栏打开窗口->首选项 从树菜单中选择文本编辑器 取消选中为选项卡插入空格 然后,从上下文菜单中运行格式菜单并保存文件: 回答你问题的后半部分: 人们喜欢空格多于制表符的原因是一致性。如果您将编辑器设置为将选项卡显示为4个空格宽,而我将编辑器设置为将选项卡显

我从网上下载了一些代码,四个空格的缩进把我烦透了。我尝试对“”进行查找和替换,并将其替换为“\t”,但这只是将所有空格集替换为字符串“\t”。如何在“替换”框中添加选项卡?

我找到了答案。我只需选中“使用正则表达式”复选框,然后使用\t

  • 从菜单栏打开窗口->首选项
  • 从树菜单中选择
    文本编辑器
  • 取消选中
    为选项卡插入空格
  • 然后,从上下文菜单中运行
    格式
    菜单并保存文件:


    回答你问题的后半部分:

    人们喜欢空格多于制表符的原因是一致性。如果您将编辑器设置为将选项卡显示为4个空格宽,而我将编辑器设置为将选项卡显示为8个空格宽,那么我们编写的代码对每个人来说都是不同的。这没关系,直到我们共同的同事忘记我们正在使用制表符,并开始用4个空格隔开他的行。现在他的代码在你看来很好,但所有的缩进都在我看来

    另外,当我们的工作决定行的长度应该是80个字符或120个字符时会发生什么?你会很高兴地用4个空格标签编码,当它到达我的编辑器时,我突然发现你的一些行太长了

    一般来说,使用空格还是制表符并不重要,只要您(以及处理代码的每个人)同意使用空格还是制表符以及制表符的宽度


    我在任何地方都使用4个空格,因为它在每个编辑器、每个存储库、当
    cat
    ed时以及在其他任何地方看起来都是一样的。

    Kouhei的响应是正确的,但是如果您希望自动格式化程序使用空格,则需要更改Java格式化程序的选项(在首选项中,查找Java->Code Style->Formatter,从现有样式中创建一个新样式,并选择“始终使用空格”)。然后,Ctrl+Shift+F将删除选项卡并插入空格。

    要解决Eclipse编辑器中带空格的选项卡问题:

  • 菜单窗口-->首选项-->Java-->代码样式-->格式化程序

  • 单击“配置项目特定设置”

    • 选择项目
  • 选中“启用项目特定设置”

    • 点击新建
    • 提及您的配置文件名-->单击“确定”
  • 将弹出配置文件页面

    • 仅在缩进选项卡的选项卡策略标签下选择空格
    • 单击apply并单击OK
  • 使用Ctrl+Shift+F格式化Java类,该类将用空格替换tab


  • <> Eclipse HeliOS为C++开发人员

    更改代码样式/编辑->查看图片,而不是更改默认文本编辑器


    很好。比我的答案复杂得多。它会格式化我所有的文件(或者至少是打开的文件)通过这种方式?或者只使用活动的方式?您也可以格式化文件夹下的所有文件。在Package Explorer中打开文件夹上的上下文菜单,然后选择Source->format menu。实际上,您需要更改Java>Code Style>Formatter选项以使用空格来自动格式化。否则,只需选中“插入空格选项卡”不起作用。如果你仔细看,你会发现正确的答案没有突出显示,在最后一张图片中,突出显示的格式上方也有正确的缩进。格式会将你所有的代码格式化为当前的格式设置,这可能不是你想要的(或者是,无论如何,它不在问题中)。这是个人/团队代码风格的选择,但使用空格进行缩进通常被认为是标准的。下面@caleb的回答强调了其中一些原因。我建议大家对空格有兴趣!@anuragw我更喜欢空格而不是制表符。但是工作团队可能需要制表符(不幸的是,我的团队需要制表符)@anuragw我不会把使用空格称为“标准”。制表符和空格都是同样可以接受的,并且广泛使用。重要的是在整个项目中使用的一致性。我不确定这个答案,所以我做了研究并讨论了它。制表符是一个字符,所以无论您或您的同事选择显示它的缩进级别如何,它在行限制中的计数都是相同的。如对于破坏您的代码样式并使用空格的同事,请与他们谈谈团队遵循一致策略的原因。然后将checkstyle等添加到生成中,以便其分支在生成之前无法生成。第二张图片是否因按“编辑”而出现第一张图片中的按钮?这将重新格式化现有代码还是仅用于新(键入/粘贴)代码?它也适用于SQL代码…因为接受的答案仅适用于java代码此框在哪里?@thdoan CTRL+F,然后单击Aa和| Aa后面的。*(点星号)|