【发布时间】:2012-05-21 19:19:42
【问题描述】:
在工作中,我们是几个开发人员,没有代码样式指南,一些开发人员使用制表符缩进,而另一些开发人员使用 4 个空格(幸运的是,没有人使用不同于 4 个空格的空格缩进)。一般来说,这不是(大)问题,因为在我们的编辑器中我们设置了tabwidth=4,并且所有缩进似乎都是正确的。
但在git diff 或git show 中出现的是这样的:
diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+ echo "line with 1 tab\n";
+ echo "line with 4 spaces\n";
+}
问题是git diff 或git show,其中每个选项卡显示为 8 个空格(嗯,实际上显示为一个选项卡,并且 shell(在我的情况下为 bash)将选项卡显示为 8 个空格。我假设必须有一些 bash 配置来改变这一点,但我想知道 git 是否可以选择在 diff / show 中将制表符输出为 4 个空格,因为一些开发人员使用 zsh 而不是 @987654330 @。
有什么想法吗?
【问题讨论】:
-
在理想的世界中,开发人员都会使用空格,这样你就不会遇到这样的愚蠢问题。
-
我完全不同意。既然可以用 8 个字符来表示,为什么还要用 4 个字符来表示?
-
当然我不知道你的情况,但我真的会推动一些超级基本的编码指南,也许只是关于制表符/空格。没有制表符听起来是个好主意,因为那时人们也倾向于使用制表符来对齐他们的 cmets 等,这变得一团糟……在空格后插入制表符……当我去编辑时,我可以'看不到什么是标签,什么是空格(所以我总是让标签在我的编辑器中可见)。不过,我对此有点神经质,所以
-
另外,我认为可以始终使用(仅)制表符来缩进代码,并使用空格来进行任何其他对齐,然后人们可以将制表位更改为他们想要的任何内容。不过,我无法想象人们足够一致!
-
@MatthewG 8 听起来比我的 2 大很多...谢谢你让我看到光! :D
标签: git bash tabs whitespace spaces