【发布时间】:2022-12-05 01:06:35
【问题描述】:
我目前正在与不同的开发人员一起使用不同的语言(TS、TSX)进行开发项目。 此外,我们使用 Prettier/ESLint,但这是一个细节。
而有些开发者习惯用2个缩进进行开发,并且使用空格。 还有一些使用 4 缩进,并且更喜欢制表符。
问题是,当我们从 github 获取代码时,缩进可能是另一个开发人员的缩进,因此不是我们对应的缩进。 当开发人员检索此缩进为 2 的代码时,正在使用 4 缩进,整个文件被检测为已被 git 修改。
是否可以在克隆/拉取/获取时执行代码格式以匹配我们的偏好? 在创建拉取请求/推送/提交时,格式化代码以使其与存储库中存在的代码相对应?
我们尝试了几种方法来解决这个问题但没有成功:
-
我们尝试使用 clean 和 smudge,但它从来没有奏效:
Can git automatically switch between spaces and tabs? -
我们试了github actions,问题是要找具体的修改,一点都不实用。
【问题讨论】:
-
用户
.editorconfig并提交挂钩。 Editorconfig 将使用设置配置编辑器,覆盖用户设置并且挂钩将强制执行它。本地挂钩可以被用户覆盖——所以如果你想真正执行它,你需要在不遵守编码规则的情况下拒绝推送。 -
伙计,在这种情况下,我会坚持让每个人聚在一起,对一项公约进行投票,然后强制只使用该公约。当他们在不同的项目上工作时,这是一回事,但当他们在同一个项目上工作时,开发人员应该愿意达成共识!
-
我在理论上同意,但在实践中,缩进看起来并不漂亮。这尤其适用于有身体问题的人。就个人而言,作为 2 缩进,我看不到哪个括号关闭了哪一行。
标签: git visual-studio-code tabs indentation prettier