【问题标题】:Using editorconfig within Git submodules在 Git 子模块中使用 editorconfig
【发布时间】:2016-11-13 01:20:18
【问题描述】:

我有一个 Web 应用程序,它依赖于用于 JSON 模式验证的外部模块。 Web 应用程序有其 Git 存储库,该模块作为 Git 子模块包含在其中。

在 Web 项目中,我有 editorconfig 用于语法标准化。为此(因为我使用 Sublime 文本),我使用 editorconfig-sublime

该模块由另一个团队维护,他们有自己的编码风格。不过,我偶尔也会为它做出贡献。

我遇到的问题是,当我将 Web 文件夹中的代码添加到模块时,我的编码风格与他们的冲突,因为我有自己的 .editorconfig 文件。他们目前不使用editorconfig

我的问题是:

是否可以,如果可以,建议在基本 Git 存储库中使用一个 .editorconfig,在 Git 子模块中使用另一个 .editorconfig?这里的最佳做法是什么?

【问题讨论】:

  • 这不是您要寻找的答案,但如果他们真的关心维护自己的编码风格,那么我认为要求他们添加 editorconfig 文件或其他一些格式化过程并不过分到他们的仓库。

标签: git sublimetext git-submodules sublime-text-plugin editorconfig


【解决方案1】:

最佳做法是为子模块使用.editorconfig 文件。

为每个存储库创建一个.editorconfig 文件是一种很好的做法,即使主要开发人员不使用它。

这是一种传达模块编码风格的好方法,无需对任何人强制执行特定的 IDE。如果任何合作者使用.editorconfig 兼容工具,他们甚至可能不知道自己正在使用它,但却从中受益。

但是,如果存储库超出您的控制范围,或者他们只是不想添加 .editorconfig 文件,您可以在主 .editorconfig 文件中执行几项操作。

一个选项是为该特定目录添加规则:

[/submodule-directory/**/*.js]
charset = utf-8
indent_style = space
indent_size = 2

另一种选择是使用unset 忽略特定目录的规则:

[/submodule-directory/**]
charset = unset
indent_style = unset
indent_size = unset

【讨论】:

    猜你喜欢
    • 2021-03-07
    • 1970-01-01
    • 2013-04-07
    • 2015-04-24
    • 1970-01-01
    • 2012-05-18
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多