可以从 .editorconfig 中忽略/排除文件/文件夹吗?

Posted

技术标签:

【中文标题】可以从 .editorconfig 中忽略/排除文件/文件夹吗?【英文标题】:Possible to ignore/exclude file/folder from .editorconfig? 【发布时间】:2015-07-30 09:10:27 【问题描述】:

是否可以从 .editorconfig 中忽略/排除文件/文件夹?

原因:我有一个包含第三方文件的 /vendor 文件夹。我不希望该文件夹继承我的任何 .editorconfig 配置。

我找到了EditorConfig-Properties 页面,似乎没有排除文件夹的属性。也许有一个 hack 使它成为可能?

当前配置

root = true

[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab

【问题讨论】:

我在想也许我可以收紧规则。我可以指定要包含的文件夹而不是尝试排除文件夹,而不是包罗万象的[*]。有没有办法做一个only-in-root 规则? 【参考方案1】:

您可以使用简单的root = true 行在vender/ 中创建.editorconfig 文件。

【讨论】:

对我不起作用。 .editorconfig 使用父文件夹的配置进行修改。 @avandecreme 您应该在.editorconfig 文件中只有一行。 root = true 不在任何部分中。 是的,这就是我所拥有的,但部分会以某种方式自动添加。可能是 netbeans 插件的错误。 @xuhdev 但 vendor 或 node_modules 目录没有版本控制,因此不能将 .editorconfig 放入这些目录。是否存在其他方式? @xuhdev 我只是尝试这样做,答案是肯定的,但并非没有问题。每次我运行 yarn 时,它都会删除我的 node_modules/.editorconfig 文件,即使它已签入 Git。【参考方案2】:

忽略/vendor文件夹的另一种解决方案:

匹配你要忽略的路径 将unset 设置为您要忽略的属性

例如,如果您有:

/index.html /供应商 /.editorconfig

您可以匹配.editorconfigvendor 目录中的所有文件并忽略所有属性(设置为IDE 的默认值):

# top-most EditorConfig file
root = true

# Ignore paths
[/vendor/**]
charset = unset
end_of_line = unset
insert_final_newline = unset
trim_trailing_whitespace = unset
indent_style = unset
indent_size = unset

【讨论】:

我认为这是一个更好的解决方案,因为它将所有 editorconfig 保存在一个地方。 “官方”方式是将它们设置为unset。 VS Code 的 editorconfig 插件也建议将其作为 Intellisense 的一部分。不过,任何无效值都可以使用。 对于我的 .jinjalintconfig.py 文件,如果我使用 unset、ignore 或 ignore,我会得到 NameError: name '' is not defined 应更新此答案以使用现在记录的 unset 值。否则,这个答案是 100% 正确的。【参考方案3】:

在 IntelliJ 中,一个月前才推出了一个很棒的功能:

ij_formatter_enabled = true/false

只需匹配.editorconfig 中的模式或文件类型,匹配的资源就会被忽略:

[**/*.sql,**/*.properties,**/File.kt]
ij_formatter_enabled = false

感谢 JetBrains!

【讨论】:

以上是关于可以从 .editorconfig 中忽略/排除文件/文件夹吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 gradle kts 中排除(忽略)android 构建变体

查看 Git 忽略或排除的所有内容的命令? [复制]

JENKINS 可以通过排除特定文件来创建构建吗?

Husky/lint-staged 是不是可以排除/忽略文件?

从 Xcode 7 的覆盖率统计中排除代码

如何从 SORM 表定义中排除类字段?