EditorConfig 配置生成器

选择项目使用的缩进、行尾符和文件编码。页面会生成编辑器读取的 .editorconfig 文件,并按 editorconfig.org 的说明解释每一行属性的含义。

免费 在浏览器中运行 核对于2026年11月10日星期二

阻止编辑器继续查找上层文件夹中的 .editorconfig 文件。除非上层的文件也必须生效,否则请保持勾选。

缩进方式

使用空格或制表符。

每一级缩进占用的列数,从1到8。

仅当制表符要显示得比缩进大小更宽时填写。留空则使用缩进大小。

行尾符

保存文件时写入的换行符。

文件中字符的编码方式。

保存文件时,删除每一行末尾的空格和制表符。

保存文件时,在文件末尾添加一个换行符。

行尾的两个空格会在 Markdown 中形成换行,因此 .md 分区会关闭删除行尾空格的设置。

YAML 不允许用制表符缩进,因此 .yml 和 .yaml 分区设置为空格,缩进为两个。

make 要求每一行配方都以制表符开头,因此 Makefile 分区设置为制表符。

结果

.editorconfig 文件
每一行的含义

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 在 “缩进方式” 和 “缩进大小” 中选择缩进。在 “行尾符” 中选择换行符,在 “字符编码” 中选择编码方式。
  2. 勾选需要的文件类型分区:“在 Markdown 中保留行尾空格”、“YAML 使用两个空格缩进” 和 “Makefile 配方用制表符缩进”。
  3. 复制 “.editorconfig 文件” 中的文本,或下载它,然后保存到项目的顶层文件夹中。
  4. 阅读 “每一行的含义”,核对每个属性的作用。

文件的工作方式

许多编辑器和 IDE 会读取 .editorconfig 文件,并把其中的设置应用到与各个分区匹配的文件上。分区标题是方括号中的文件名模式,其下的属性适用于每一个匹配的文件。后面的分区会覆盖前面分区中同一属性的设置。root = true 这一行会停止查找,因此设置只作用于本文件夹及其下的文件夹。

  • * 匹配除斜杠以外的任意字符。
  • ** 匹配任意字符,包括斜杠。
  • {yml,yaml} 匹配其中任一文本,因此 *.{yml,yaml} 同时匹配两种文件。

文件类型分区

  • Markdown:行尾的两个空格会形成换行,因此 *.md 关闭了删除行尾空格的设置。
  • YAML:YAML 不允许用制表符缩进,因此 *.{yml,yaml} 用空格缩进,每一级两个空格。
  • Makefile:每一行配方都必须以制表符开头,因此 Makefile 设置 indent_style = tab。

选择数值

  • 空格是代码中常见的选择。如果团队所有编辑器都以相同宽度显示制表符,使用制表符也合适。
  • LF 是 Linux、macOS 及大多数代码仓库中项目常用的换行符。CRLF 是 Windows 文本文件的换行符。
  • UTF-8 是标准编码。只有在某个工具需要时,才使用带字节顺序标记的 UTF-8。

示例:默认选项

使用空格、缩进大小2、LF、UTF-8、删除行尾空格、文件末尾换行,并勾选三个文件类型分区时,文件包含一行 root、一个适用于所有文件且含6个属性的分区,以及 Markdown 和 Makefile 分区各一个属性、YAML 分区两个属性。表格列出了11行属性,这里显示其中6行。

分区 属性 值
文件顶部 root true
所有文件 indent_style space
所有文件 indent_size 2
Markdown(.md) trim_trailing_whitespace false
YAML(.yml、.yaml) indent_style space
Makefile indent_style tab

常见问题

.editorconfig 文件应放在哪里?

放在项目的顶层文件夹中,与 README 放在一起。编辑器会先在每个文件所在的文件夹中查找它,然后逐级向上查找,遇到第一个带有 root = true 的文件时停止。

这个文件会自动重新格式化代码吗?

它本身不会。它告诉编辑器和插件在编辑或保存文件时使用哪种缩进、换行符和编码。真正重新格式化代码的是格式化工具或代码检查工具,其中一些工具也会读取同样的设置。

为什么 Markdown 分区要保留行尾空格?

在 Markdown 中,行尾的两个空格会形成换行。删除它们会把两行合并成一行,因此这一分区只为 .md 文件关闭删除行尾空格的设置。

为什么 Makefile 必须使用制表符?

make 会在制表符之后读取每一行配方,以空格开头的配方会报错。因此 Makefile 分区会把名为 Makefile 的文件的 indent_style 设为 tab。

子文件夹可以取消其中某个设置吗?

可以,使用 unset 值即可取消之前设置的属性。本页只写入普通的值,因此如果需要,请在子文件夹自己的 .editorconfig 文件中添加这一行。

文件会被发送到服务器吗?

不会。文件完全在您的浏览器中,根据您的选择生成,您选择的内容不会被保存,也不会发送到任何服务器。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。