制表符和空格转换

时间:2020-03-06 14:25:07  来源:igfitidea点击:

当我向/从存储库提交/更新代码时,我想在制表符和空格之间自动转换以缩进。我已经找到了eclipse的AnyEdit插件,可以转换文件目录。一开始还不错,但是有人对如何处理这个有更多的经验吗?还是可能知道Ant脚本或者其他内容?

解决方案

为什么不只使用代码格式化程序和/或者清除功能?它的设置可以为我们解决这些问题。我们甚至可以在保存时自动运行它。

编辑:作为彼得·珀斯?在评论中指出,这只能回答一半的问题。我没有任何实践经验,但是我们可以尝试使用Maven Eclipse格式插件从Maven构建中进行格式化。

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

根据SCM工具(git,svn等)的不同,我们还可以创建一个运行该构建的钩子(但是这样做可能太重了)。

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

我使用AnyEdit插件将选项卡自动转换为文件保存时的空格。我还配置了基本文本编辑器(几乎所有其他文本编辑器都从该文本编辑器派生)插入空格而不是制表符。这听起来很多余,但是这样做是确保我不插入任何标签,并且我保存的所有带有标签的编辑文件都将立即转换。

制表符在源代码中没有位置。如果其他人在将制表位设置为其他值的情况下查看文件,则他们仍然会丢失大多数对齐方式/格式。

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

你可能会失去对准/使用制表符而不是空格的格式,当且仅当标签是不是在行的开头。切勿在行内使用制表符,而始终在行的开头使用制表符。这使我们可以使来调整到所需的缩进级别,而不会影响同事对该文件的视图。挑战:找到一个示例,该示例说明行首的制表符失去对齐。

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