8

我的团队在 GitHub 中维护了几个 Java 存储库。它们中的每一个在根文件夹中都有一个 .editorconfig 文件,它们都完全相同。这使得维护它们有点痛苦,因为它们都必须单独更新。

我们所有人都使用 IntelliJ,它具有从 URL 下载 checkstyle 规则的功能,但似乎没有办法使用 .editorconfig 规则来做到这一点。

我们所有的项目都使用 Maven。有什么方法可以通过 API 访问 .editorconfig 文件并将项目配置为自动下载并将其放在根文件夹中?

对于不熟悉 EditorConfig 的任何人,这里有更多信息。

4

2 回答 2

1

我做了一个工具来解决这类问题。它是作为 NPM 包开发的,但它基本上只是一个命令行工具,因此它应该适用于这种情况。如果您npx your-dictator-name@version使用Exec Maven Plugin执行类似的操作。

该工具称为独裁者生成器,有助于创建“独裁者”。独裁者是包含“dictatables”的命令行工具,您.editorconfig可以成为“dictatable”的一部分。

在您的情况下,您可以使用以下内容.dictatable-config.json

{
  "message": "Copy editorconfig",
  "actions": [
    {
      "copyFrom": ".editorconfig",
      "target": "."
    }
  ]
}
于 2020-05-09T14:41:28.500 回答
0

引用您提到的相同EditorConfig 文档

.editorconfig打开文件时,EditorConfig 插件会在打开文件的目录和每个父目录中查找一个名为的文件。.editorconfig如果到达根文件路径或找到带有的 EditorConfig 文件,则文件搜索将停止root=true

因此,最方便且易于管理的方法是创建一个.editorconfig文件并将其放在所有存储库的父目录中的某个位置。该文件必须包含该root=true行。

这可以通过将文件存储在一个存储库中并在父目录中对其进行符号链接来进一步改进:

cd <parent_dir_for_all_repos>
ln -s .../path/to/.editorconfig
于 2020-11-23T10:32:40.263 回答