EditorConfig:将规则应用于多个特定文件夹

Jet*_*eto 8 editorconfig

假设我有一个包含以下文件夹的项目:

/
  /folder1
  /folder2
  /folder3
  /folder4
  /folder5
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的.editorconfig在根目录(文件/)的水平,但仅适用(中的所有文件),以同样的规则folder1folder3folder5而不是其他两个?

我可以做什么(但似乎并不理想)

  • .editorconfigfolder1folder3和 中保存一份文件副本folder5。但是复制它似乎非常难看/不方便。
  • .editorconfig在包含所有规则的根文件夹中创建一个,然后root = true在所有“排除”文件夹(folder2folder4)中创建另一个。它更好,但并不理想,因为我们必须记住对每个不应该应用的文件夹进行操作(实际上,可能有几十个)。

我想(能够)做什么

.editorconfig在根级别创建一个,并列出应应用的文件夹规则。我没有找到做这样的事情的方法:

[/folder1/**]
[/folder3/**]
[/folder5/**]
end_of_line = lf
insert_final_newline = true
Run Code Online (Sandbox Code Playgroud)

无效,因为您不能组合这样的部分。

或者,使用以下{s1,s2,s3}格式:

[{/folder1/**, /folder3/**, /folder5/**}]
end_of_line = lf
insert_final_newline = true
Run Code Online (Sandbox Code Playgroud)

但它似乎也无效(似乎只允许简单的文件名模式)。

有没有其他方法可以实现这一目标?我在文档或其他地方没有找到任何东西,但我可能错过了一些明显的东西。

Set*_*lco 5

2013年在EditorConfig Core 0.11.0中引入,实现方式如下(源码):

[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
Run Code Online (Sandbox Code Playgroud)

我在 Visual Studio Code 中测试了以下配置并确认其有效。

root = true

[{packages/**,plugins/**}]
indent_size = 8
Run Code Online (Sandbox Code Playgroud)

如果这对您不起作用,则可能取决于实施/客户端。最好提出功能请求来支持该功能。