可以从 .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您可以匹配.editorconfig
中vendor
目录中的所有文件并忽略所有属性(设置为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 构建变体