制表符和空格转换

时间:2008-09-19 08:05:19

标签: eclipse formatting

当我向/从我们的存储库提交/更新代码时,我想在标签和空格之间自动转换缩进。我找到了eclipse的AnyEdit插件,它可以转换文件目录。一开始还不错,但是有没有人对如何处理这个问题有更多的了解?或者可能知道Ant脚本或其他什么?

7 个答案:

答案 0 :(得分:16)

  1. 确保将编辑器设置为use spaces instead of tabs
  2. 选择所有文本并在Mac上按 CMD + I 或在Windows上按 CTRL + I

答案 1 :(得分:14)

为什么不使用代码格式化程序和/或清理功能?它有一些设置,可以为您处理这些内容。您甚至可以在保存时自动运行。

编辑正如PeterPerháč在评论中指出的那样,这只回答了问题的一半。我没有任何实际经验,但您可以尝试Maven Eclipse Format Plugin从Maven构建格式化。

不幸的是,那只是Maven,我知道没有轻量级的命令行格式化程序。但是如果你碰巧使用Maven,你可以将格式目标绑定到正确的阶段,如果你将Eclipse设置为自动构建,它将在更新时格式化。

根据SCM工具(git,svn等),您还可以创建一个运行构建的钩子(但它可能有点太重了)。

答案 2 :(得分:12)

我使用AnyEdit插件将标签自动转换为保存文件的空格。我还配置了基本文本编辑器(几乎所有其他人都可以从中导出)来插入空格而不是制表符。这听起来多余,但它的作用是确保我不插入任何标签,并且我编辑的任何已经有标签的文件将在我保存后立即转换。

标签在源代码中没有位置。如果其他人在将其制表符设置为不同的值时查看该文件,则无论如何都会丢失大多数对齐/格式化。

(当然,如果您有直接编辑的Makefile,您需要确保它们的选项卡保留。但在我的项目中,如果make使用make,则Makefile来自不同的源,例如Perl中的Makefile.PL。)

答案 3 :(得分:3)

有点矫枉过正,只能尝试某些可以处理它的存储库产品,但调用缩进或astyle的钩子脚本可以解决这个问题。它会以相同的方式为每个文件格式化每个人的代码,这取决于你编写钩子脚本的方式,当然它必须预先提交。

答案 4 :(得分:1)

当且仅当选项卡不在行的开头时,您可能会使用制表符而不是空格来丢失对齐/格式。切勿使用标签内线,始终使用线前面的标签。这允许您使用编辑器调整到所需的缩进级别,而不会影响同事对文件的查看。挑战:找一个示例,行前面的标签会失去对齐。

答案 5 :(得分:0)

我使用Kedit来做这件事。它还原生地转换来自Macintosh,UNIX和MS-Dos的文本文件。由于它是一个较旧的编辑器,我使用其中一个脚本来处理unicode文件。 您可能还想看一些其他智能编辑器。

答案 6 :(得分:0)

我将Eclipse用于Java EE开发人员4.6.0 Neon。我使用http://marketplace.eclipse.org/content/anyedit-tools