跳到主要内容

.editorconfig 生成器:缩进 / 字符集 / 换行 / 按 glob 覆盖

可视化 .editorconfig 构建,缩进 / 字符集 / 换行 / 末尾空白 / 按 glob 覆盖,浏览器本地

  • 本地处理
  • 分类 开发运维
  • 适合 分享前检查文件类型、大小、元数据和明显不匹配信号。
Glob 模式
indent_style
indent_size
charset
end_of_line
insert_final_newline
trim_trailing_whitespace
max_line_length
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

这个工具能做什么

可视化生成 .editorconfig,这个文件让团队里每个人的编辑器在缩进、 字符集、换行符上保持一致,任何编辑器一打开文件就生效,不需要构建步骤。 先设好全局 `[*]` 段:indent_style(空格/Tab)、indent_size、charset、 end_of_line(lf/crlf/cr)、insert_final_newline、trim_trailing_whitespace、 max_line_length,再按需加按 glob 的覆盖段,比如 `[*.md]` 关掉末尾空白 裁剪(Markdown 用行末两个空格表示硬换行)、`[*.{js,ts}]` 强制 2 空格。 打开 `root = true`,EditorConfig 就不再往父目录继续找配置。可以先选一个 语言预设(Python 4 空格、Go 用 Tab、Web 2 空格、Makefile 必须 Tab) 把常用段铺好再微调。右侧输出面板就是编辑器实际读到的文件,一键复制或 直接下载成仓库根目录的 `.editorconfig`。每次输入都在浏览器里实时渲染, 文件不出本地,配置还会编码进 URL,把"分享链接"发给同事就能复现同一套 设置。支持 VS Code、JetBrains 全家桶、Vim、Sublime 以及任何装了 EditorConfig 插件的编辑器。

工具细节

输入
文本 + 数值
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制 + 下载
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
可分享链接状态
关键设置会进入 URL,复制链接后别人能复现同一组参数。
性能预算
首屏 JS ≤ 10 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
开发运维 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

.editorconfig 生成器 适合怎么用

适合在上传、交付、归档、客服排查前使用,也适合任何文件离开本机前的本地复核。

适合文件任务

  • 分享前检查文件类型、大小、元数据和明显不匹配信号。
  • 上传、归档、接收或审核前整理混合文件夹。
  • 敏感文件先留在浏览器里处理,不用交给账号型服务。

文件检查项

  • 不要只凭扩展名判断真实文件类型。
  • 文件发给客户、供应商或公开页面前,先看元数据。
  • 复制、转换或导出结果确认前,保留原文件。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 .gitignore 生成器 勾选你的技术栈(Node、Python、Go、Docker、macOS、VS Code),生成去重、分节的 .gitignore。纯浏览器本地。 打开
  2. 2 .htaccess 生成器 Apache .htaccess 生成器:HTTPS 跳转、www 切换、Gzip、缓存头、防盗链。 打开
  3. 3 robots.txt 生成器 生成 robots.txt,内置 Google / Bing / AI 爬虫常见模板。 打开

真实使用场景

  • 消灭共享仓库里 Tab/空格的 diff 噪音

    同一个 Python 仓库的两个人(一个编辑器用 Tab,一个用 4 空格), 每个 PR 都变成一堆只改了空白的 diff,把真正的改动埋掉。在仓库根目录 放一个 `.editorconfig`,`[*]` 段设 `indent_style = space`、 `indent_size = 4`,提交,两个人的编辑器一打开文件就对齐到同一种缩进。 审查的人不用再翻那些幽灵 diff。30 秒搞定:选 Python 预设,确认 4 空格, 复制,粘进 `.editorconfig`,push。

  • 把 CRLF 挡在跨平台团队之外

    一个 Windows 贡献者提交一个文件,突然每一行都显示被改了,因为他的 编辑器写成了 CRLF,而 Linux 团队用 LF。在全局 `[*]` 段设 `end_of_line = lf` 和 `insert_final_newline = true`,装了 EditorConfig 插件的编辑器就会在保存时归一化换行符,在 Git 看到文件之前就处理掉。 再配上 `.gitattributes` 里的 `* text=auto eol=lf` 做双保险,但真正在 编辑器内部把它修好的是 `.editorconfig`。

  • 只给 Markdown 关掉末尾空白裁剪

    你的全局规则裁掉末尾空白,对代码是对的,对 Markdown 是错的,因为 Markdown 里行末两个空格表示硬换行。加一个 `[*.md]` 覆盖段设 `trim_trailing_whitespace = false`,你的文稿就保住了换行,而每个 `.js` 和 `.py` 文件依旧被清理。这是 EditorConfig 最经典的覆盖用法,也正是 per-glob 段存在的理由;这个生成器把它做成了一键预设。

  • 对上 Makefile 必须用硬 Tab 的要求

    Makefile 的 recipe 行如果用空格开头就会坏,GNU Make 要求必须是一个 字面 Tab。如果你的全局配置强制空格,你碰到的每个 Makefile 都会被悄悄 破坏。加 `[Makefile]` 和 `[*.mk]` 段设 `indent_style = tab`,编辑器就在 这里插入真正的 Tab,而仓库其余部分还是空格。这里的 Makefile 预设替你 连好了;没有它,故障一直藏着,直到 `make` 报 "missing separator"。

  • 让贡献者零配置上手

    一个开源贡献者用你从没听说过的编辑器克隆了你的仓库。与其在 CONTRIBUTING.md 里写一段他们会略过的缩进说明,不如让仓库根目录的 `.editorconfig` 在他们第一次打开文件时自动配置好编辑器,前提是他们的 编辑器装了那个几乎人人都有的插件。生成一次文件、提交,缩进/字符集/换行 的规则就随仓库一起带给每个未来的贡献者,不用写文档。

常见踩坑

  • 把 `[*.md]` 这种窄 glob 放在全局 `[*]` 段上面。EditorConfig 后面的段后生效,所以放在覆盖段之后的宽 `[*]` 会把它盖掉。保持 `[*]` 在最前、窄 glob 在下面。这个生成器永远按这个顺序输出。

  • 忘了在顶部写 `root = true`。没有它,EditorConfig 会一直往父目录找并合并所有 `.editorconfig`(包括你 home 目录或 monorepo 父级里某个乱放的),你从没写过的设置就会泄进来。在项目顶层文件里把它设上。

  • 写了 `indent_size = 2` 却留着 `indent_style = tab`。用 Tab 时,`indent_size` 只影响一个 Tab *显示*多宽,不会插入空格。如果你真想要两空格缩进,得同时设 `indent_style = space`,否则文件还是按 Tab 缩进。

隐私说明

整个生成器都是在浏览器标签页里跑的纯 JavaScript。你配置的段、敲进去的 glob、下载的文件都不碰服务器,不上传、不记录你构建了什么、不对你项目的 缩进策略做任何打点。有一点要知道:当前配置会编码进 URL 的 query string, 这样"分享链接"能为同事复现,也就是说你写进 glob 的内容(比如某个内部 路径或文件名)会落到 URL 里,如果你把这个链接粘到 Slack 或工单,也会进 对方的访问日志。glob 通常都很通用(`*.md`、`*.{js,ts}`),很少敏感,但 如果某个 glob 暴露了你仓库结构里的隐私信息,就手动复制文件、别分享 URL。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-12