【发布时间】:2013-01-30 13:33:07
【问题描述】:
在将 CakePHP 源代码提交到 GitHub 后,我才意识到他们现在使用制表符来缩进代码,而不是四个空格。他们还在.editorconfig 文件中对此进行了定义,我已将其更改为:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
有没有办法遍历整个源代码并安全地将所有制表符转换为四个空格以进行缩进?我的理由是 repo 上的每个开发人员都使用四个空格,混合和匹配会导致代码在 GitHub 上查看时看起来不合适。而且我只是一个一致性的粉丝:)
如果我采用自制的方式并为此编写自己的脚本,我真的不介意哪种语言,尽管我对 PHP 更有信心(我知道这不是最适合这份工作的) .这就像在每个文件上执行 preg_replace('~\t~', ' ', $fileText) 一样简单吗?
【问题讨论】:
-
四个空格是标准,因为它在 IDE 中显示相同 - 我真的很惊讶 GitHub 不会遵循该标准。许多 IDE 具有自动格式化功能,可以为您完成此操作。
-
对你的正则表达式是,但如果你使用像 Netbeans 这样的 IDE,这些操作应该被内置并自动将制表符扩展到空格(如果设置为这样做的话)。请记住,尽管选项卡会根据作者偏好进行缩放,而空格则不会。
-
@crush 我认为这是 Cake 而不是 GitHub,源文件有制表符而不是 2.3.0 之前的以前版本中的空格(我认为)。
-
@JamesDawson - AFAIK 肯定是小菜一碟,我所有的项目都在代表和在线代码浏览器中保留制表符缩进。
-
@JamesDawson CakePHP 一直使用制表符进行缩进,而不仅仅是从 2.3 开始