将项目翻译成我的 editorconfig

Translate project to my editorconfig

DISCLAIMER: Please, do not start "singlequotes masterrace", "tabs are over spaces"-related shitstorms. Thanks :)

我想知道如何做到这一点:

  1. 项目使用了 4 个空格和双引号
  2. 我使用了 2 个空格和单引号
  3. 导入项目
  4. 每个打开的文件转换为 2 个空格和单引号
  5. 将项目保存为基于 4 个空格和双引号的格式
  6. 将其提交为 4 个空格和双引号文件

本人是web开发者,JS ES6(无流),JSX(react),主要使用VS code。 这不是必需的,我'可以'遵守项目规则。但这会节省我很多时间。

感谢指教!

你可以用 Git smudge/clean filters 做到这一点。先决条件是您有一个工具可以将 4 个空格和双引号转换为 2 个空格和单引号,反之亦然。假设你有这两个,我们称它们为 4to2converter 和 2to4converter,执行以下操作:

编辑(或创建)您的 .gitattributes 文件,添加如下一行:

*.js filter=convert

这告诉 git 它应该对所有 .js 文件应用 convert 过滤器。您也可以包含其他文件类型。

然后通过调整 git 配置来定义转换过滤器的作用:

$ git config filter.convert.smudge 2to4converter
$ git config filter.convert.clean 4to2converter

现在发生的情况是,每次提交 .js 文件时,文件首先通过 2to4converter 运行,而每次结帐时,文件首先通过 4to2converter 运行。

最后,首先确保您没有任何未提交的工作,并且运行:

$ git checkout HEAD -- **

这将强制检出所有文件,应用您新定义的过滤器。