.editorconfig 生成器
创建 .editorconfig 文件,让不同编辑器统一缩进、换行符、字符集和空白处理,并为 Markdown、YAML、Python、Go、Makefile 提供覆盖规则。
0 = 不设置
什么是 .editorconfig 生成器?
EditorConfig 让代码风格在不同编辑器和 IDE(VS Code、JetBrains、Vim、Visual Studio、Sublime 等)之间保持一致。这个工具会根据你的缩进、换行符、字符集和空白规则创建 .editorconfig 文件,并附带常见的按文件类型覆盖规则,例如 Makefile 和 Go 使用制表符、Python 使用 4 个空格。
如何使用 .editorconfig 生成器
- 选择 缩进方式(空格或制表符),并设置 缩进宽度 或 制表符宽度。
- 设置 换行符、字符集 以及可选的 最大行长。
- 切换 删除行尾空白 和 文件末尾插入换行,并选择需要的 按文件类型覆盖 规则。
- 下载
.editorconfig并放到项目根目录。
示例
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
# EditorConfig: https://editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [Makefile] indent_style = tab
何时使用 .editorconfig 生成器
适合任何由多人或多种编辑器共同编辑的仓库,尤其是换行符各不相同的 Windows/macOS/Linux 混合团队。EditorConfig 只控制基本的空白;完整的代码风格请使用 Prettier、Black 或 gofmt 等格式化器,并最好让它们的配置与这些设置保持一致。
.editorconfig 生成器 的工作原理
文件以 root = true 开头,让编辑器不再向上级文件夹查找,其后是 [*] 段,包含 EditorConfig 规范中的 indent_style、indent_size(使用制表符时为 tab 和 tab_width)、end_of_line、charset、trim_trailing_whitespace 和 insert_final_newline。覆盖规则作为后面的 glob 段([*.md]、[*.{yml,yaml}]、[*.py]、[*.go]、[Makefile])添加,对匹配的文件优先于 [*]。
常见用例
- 杜绝拉取请求中制表符与空格、CRLF/LF 的反复改动
- 为 JavaScript 项目设置 2 空格缩进
- 在 Makefile 中保留制表符,其他地方使用空格
- 保留用行尾空格实现的 Markdown 换行
常见问题
VS Code 支持 .editorconfig 吗?
支持,通过官方的 EditorConfig 扩展。JetBrains IDE、Visual Studio 和 GitHub 的网页编辑器则原生支持。
为什么 Markdown 要设置 trim_trailing_whitespace = false?
在 Markdown 中,行尾的两个空格会产生换行,所以删除它们会改变渲染后的文档。
用 LF 还是 CRLF?
LF 是大多数仓库的标准,包括使用 Git 的 autocrlf 的 Windows 项目。只有 Windows 专用工具要求时才使用 CRLF。