.editorconfig 生成器(在线)
在浏览器中通过缩进、字符集和换行选项,配合按语言的覆盖设置,生成一个干净的 .editorconfig。
.editorconfig 生成器完全在你的浏览器中运行。你所选择的缩进、字符集和区块设置永远不会离开你的设备,也不会上传到 ArrayKit。
打开 .gitignore 生成器
关于 .editorconfig 生成器
.editorconfig 生成器通过几个简单的开关生成完整的 .editorconfig 文件,让团队中每个编辑器都应用相同的缩进风格、缩进大小、字符集、换行方式和行尾空白规则。你可以从「2 空格、LF、UTF-8」这样的预设开始,调整默认的 [*] 区块,然后为 Makefile、YAML、Python 或任何需要自己缩进宽度或制表符风格的 glob 添加按语言的覆盖设置。生成的输出是一段可直接复制的纯文本 .editorconfig,并附带一键下载,让你可以直接放入仓库根目录。它面向希望在 VS Code、JetBrains 系 IDE、Vim 等所有支持 EditorConfig 的编辑器中保持一致格式、又不想在代码评审中争论制表符还是空格的开发者和技术负责人。所有处理都在你的浏览器中本地完成——你配置的任何内容都不会被上传到任何地方。
功能特性
- 切换默认 [*] 区块的缩进风格(空格或制表符)和缩进大小
- 设置字符集、换行风格(LF、CRLF 或 CR)以及行尾空白的裁剪
- 插入文件末尾换行的开关,让文件保持 POSIX 友好
- 「2 空格、LF、UTF-8」等一键预设,帮你从合理的默认值开始
- 为 Makefile、*.md、*.py、*.yml 等文件类型添加额外的 [glob] 区块
- 每个额外区块都有自己的缩进风格和大小覆盖设置
- 可直接复制的 CodeBlock 输出,外加一个下载 .editorconfig 的按钮
- 完全在浏览器中运行——任何配置都不会发送到服务器
如何使用 .editorconfig 生成器
- 选择一个起始预设,或保留默认的 [*] 区块不变
- 调整缩进风格、缩进大小、字符集、换行方式和空白相关开关
- 为任何需要不同缩进规则的 glob 添加按语言的区块
- 复制生成的 .editorconfig,或直接下载到你的仓库根目录
示例
输入
2 spaces, LF, utf-8
输出
root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
end_of_line = lf
insert_final_newline = true
默认预设生成一个最小化、可移植的 .editorconfig 区块。
常见错误与故障排除
- 即使 .editorconfig 设置了 indent_style = space,编辑器仍然显示制表符。 — 确认文件名确实是 .editorconfig,保存在项目根目录(或某个父目录)中,并且你的编辑器已启用 EditorConfig 支持——大多数编辑器需要内置设置或一个小扩展。
- Makefile 相关的区块被忽略了。 — 按照惯例,Makefile 的目标需要使用真正的制表符;请检查 .editorconfig 生成器中 Makefile glob 区块的 indent_style 是否设置为 tab 而不是 space。
- 后面区块的设置没有覆盖前面区块的设置。 — EditorConfig 会从上到下依次应用每个匹配的区块,遇到键冲突时以靠后的区块为准——请把更具体的 glob 放在默认的 [*] 区块之后。
- root = true 似乎没有阻止父目录中 .editorconfig 的设置生效。 — root = true 必须是文件的第一行,位于任何 [区块] 之上;.editorconfig 生成器总会自动把它放在那里。
常见问题
- .editorconfig 生成器到底会生成什么?
- 一个纯文本的 .editorconfig 文件:一行 root = true,一个包含你所选缩进、字符集和换行设置的默认 [*] 区块,以及你添加的任何按 glob 划分的额外区块——可直接复制或下载。
- 这个 .editorconfig 生成器生成的文件哪些编辑器可以读取?
- 任何支持 EditorConfig 的编辑器都可以,包括 VS Code(2021 年起内置支持)、JetBrains 系 IDE(内置支持)、Vim、Sublime Text,以及安装了 EditorConfig 插件的 Emacs——该文件格式是一个共享的开放标准。
- .editorconfig 生成器能为不同文件类型设置不同的缩进规则吗?
- 可以。在额外区块列表中添加一个像 *.py 或 Makefile 这样的 glob,并为它设置自己的缩进风格和大小——这只会覆盖匹配文件的默认 [*] 区块设置。
- .editorconfig 生成器会把我的项目设置上传到别处吗?
- 不会。你选择的每一个选项都只保留在你的浏览器标签页中;文件在本地生成,只有当你自己复制或下载时才会离开你的设备。
- .editorconfig 文件中 indent_size 和 tab_width 有什么区别?
- indent_size 控制一个缩进级别使用多少空格(或者当 indent_style 为 tab 时,一个制表符显示的宽度);tab_width 是一个单独的、很少用到的键,仅在显示宽度与 indent_size 不同时才需要用到。
- 为什么 .editorconfig 生成器会写出 insert_final_newline = false,而不是省略这一行?
- 当你明确关闭某个开关时,工具会写出字面值 false,以强制生效该设置,而不是交给每个编辑器各自的默认行为——只有从未被你改动过的键才会被省略。
相关工具
全部 ArrayKit 工具