核心术语
EditorConfig
一种用于定义和维护一致编码风格的文件格式规范。它通过在项目目录中放置名为 .editorconfig 的配置文件,让支持该规范的编辑器自动应用统一的代码格式设置。EditorConfig 不依赖于任何特定的编辑器或 IDE,是一种跨平台、跨编辑器的通用解决方案。它专注于最基本的格式设置,如缩进、换行符和字符编码,不涉及代码语法或逻辑层面的格式化。
.editorconfig 文件
EditorConfig 规范的物理载体,是一个纯文本格式的配置文件。文件名以点开头,位于项目根目录或子目录中。文件内容由一个或多个配置节(Section)组成,每个配置节包含一个匹配模式和一组属性设置。编辑器在打开文件时会从文件所在目录开始向上查找 .editorconfig 文件,直到找到 root = true 的文件为止,然后应用匹配的配置规则。
root 属性
EditorConfig 配置文件中的一个特殊属性,用于指示编辑器是否停止向上查找配置文件。当 root = true 时,编辑器在当前文件中找到 .editorconfig 后会停止继续向上查找父目录的配置文件,避免受到系统级别配置的影响。当 root = false 时,编辑器会继续向上查找。通常建议在项目根目录的 .editorconfig 文件中设置 root = true,以确保项目配置的独立性。
配置节(Section)
.editorconfig 文件中的一个配置单元,由方括号包裹的匹配模式和下方的属性列表组成。例如 [*] 表示匹配所有文件,[*.js] 表示匹配所有 JavaScript 文件。配置节决定了哪些文件会应用其中定义的属性设置。文件可以匹配多个配置节,按照"最后匹配优先"原则应用规则。
配置属性
indent_style
定义缩进使用的字符类型。可选值为 tab(制表符)或 space(空格)。当设置为 tab 时,缩进使用一个 Tab 字符,实际显示宽度由编辑器的 tab_width 设置决定。当设置为 space 时,缩进使用指定数量的空格字符。大多数现代项目推荐使用 space 风格,因为不同编辑器对 Tab 的显示宽度处理可能不一致,而空格的显示效果始终相同。Makefile 等特殊文件则必须使用 tab 缩进。
indent_size
当 indent_style 设置为 space 时,指定每次缩进使用的空格数量。常见的设置值为 2 或 4。前端项目(HTML、CSS、JavaScript)通常使用 2 空格缩进,Python 项目使用 4 空格缩进。该设置不影响 tab 缩进风格下的显示效果。如果同时设置了 tab_width,indent_size 可以设为 tab 以保持一致。
end_of_line
定义换行符的类型。可选值为 lf(Unix 风格,仅换行)、crlf(Windows 风格,回车+换行)或 auto(自动检测)。跨平台项目推荐使用 lf,因为 Git 可以通过配置自动处理换行符转换。Windows 专用项目可以使用 crlf。auto 模式会根据当前操作系统自动选择,但不推荐在团队协作项目中使用,因为不同成员的操作系统可能不同。
charset
定义文件的字符编码格式。常见选项包括 utf-8(推荐,支持所有 Unicode 字符)、utf-8-bom(带 BOM 头的 UTF-8,某些 Windows 工具需要)、latin1(西欧字符集)和 ascii(仅 ASCII 字符)。现代项目强烈推荐使用 utf-8 编码,它能够正确处理中文、日文、韩文等多语言字符,同时与 ASCII 完全兼容。BOM 头在某些工具中可能导致问题,除非有特殊需求,否则建议避免使用 utf-8-bom。
扩展属性
trim_trailing_whitespace
控制是否自动删除行尾的空白字符(空格和制表符)。设置为 true 时,编辑器在保存文件时会自动去除每行末尾的多余空白字符。这有助于保持代码整洁,避免 Git diff 中出现大量由行尾空白引起的无意义变更。大多数项目建议启用此设置。但对于 Markdown 文件,行尾的两个空格表示换行,因此建议为 *.md 文件单独设置 trim_trailing_whitespace = false。
insert_final_newline
控制文件末尾是否自动插入一个空行。设置为 true 时,编辑器会在保存文件时确保文件最后一行以换行符结尾。这是 POSIX 标准的文件格式要求,许多工具(如 cat、diff)都依赖此行为。启用此设置可以避免 Git 在文件末尾缺少换行符时显示 No newline at end of file 警告。大多数项目建议启用此设置。
tab_width
指定一个 Tab 字符在编辑器中显示的等效空格宽度。该属性仅在 indent_style = tab 时有意义。常见的设置值为 4 或 8。不同的编辑器可能有不同的默认 Tab 宽度设置,通过 EditorConfig 统一此设置可以确保所有团队成员看到相同的代码缩进效果。如果同时设置了 indent_size,建议将 tab_width 设置为相同的值以保持视觉一致性。
匹配模式
通配符匹配
EditorConfig 的匹配模式使用类似 .gitignore 的通配符语法。* 匹配任意数量的字符(不包含路径分隔符),** 匹配任意数量的字符(包含路径分隔符),? 匹配单个字符,[abc] 匹配方括号内的任意一个字符。例如,[*] 匹配所有文件,[*.py] 匹配所有 Python 文件,[src/**/*.js] 匹配 src 目录下所有子目录中的 JavaScript 文件。
匹配优先级
当多个配置节的匹配模式都适用于同一个文件时,EditorConfig 遵循"最后匹配优先"原则。在 .editorconfig 文件中靠后出现的配置节会覆盖前面配置节中的同名属性。但不同名的属性会合并生效。因此,建议将通用配置 [*] 放在文件最前面,将特定文件类型的配置放在后面,确保特定配置能正确覆盖通用配置。
Workbox 配置生成器 - 自定义 Service Worker 策略
通过表单选择预缓存、运行时缓存规则,生成 workbox-config.js,简化 PWA 缓存配置。
Thrift IDL 预览转换器 - 在线生成各语言结构
编写Thrift接口定义,一键预览生成Java/Python/Go等语言的客户端桩代码,加速跨语言开发。
文本历史版本对比 - 类似Git Blame
粘贴两个时间点的文本,以类似Git Blame的效果显示哪些行新增/删除/修改。
高级Leet语生成器 - 多级1337风格转换
提供基础、中级、高级三档Leet speak转换,支持自定义字母到符号的映射表,打造极致极客风。
Webhook 接收模拟器 - 查看外发请求体
生成临时唯一URL,展示接收到的Webhook请求头与体,便于本地开发调试回调。
职业偏好简易评测 - 霍兰德RIASEC代码
简短版兴趣评估,得出你的RIASEC代码及匹配职业方向建议。
Webhook 请求捕获器 - 临时 URL 接收并查看载荷
生成一个一次性 URL,用于接收 webhook 请求,实时显示请求头、体和时间。
高级结构化数据生成器 - 支持多种 Schema 类型
通过表单填写生成 JSON-LD,支持 Product、Article、Breadcrumb 等多种类型并实时预览。
mailto链接构造器 - 预设主题正文邮件链
可视化填写收件人、主题、正文和抄送,生成mailto:链接,用于网站联系按钮。
浏览器信息查看器 - UserAgent及特性检测
显示当前浏览器的详细信息,包括UserAgent、引擎、平台、语言、Cookie启用状态、在线状态等。
撒花特效生成器 - 在线庆祝彩带动画配置
自定义五彩纸屑数量、形状和重力,生成撒花动画代码,可直接嵌入网页完成事件触发。
代码折叠编辑器演示 - 基于缩进的折叠功能
展示一个简易的带代码折叠功能的文本区域,支持按缩进层级展开/收起代码块。
LCR骰子游戏模拟器 - 左右中留
模拟经典LCR骰子游戏,自动计算筹码流动并展示终局统计,可用于学习概率。
Particles.js 配置生成器 - 粒子背景可视化定制
调整粒子数量、形状、颜色、连线等参数,实时预览粒子背景效果,导出 Particles.js 配置 JSON。
ConfigMap 生成器 - 从键值对快速生成 Kubernetes 资源
输入键值对,自动生成 Kubernetes ConfigMap YAML,支持文字和多行数据。
音乐风格小试验 - 上传片段判断流派
上传很短的音乐片段,使用简单的音频特征分析预测流派。
中国象棋摆棋练习 - 任意残局配置
摆放棋子创建自定义残局,切换红黑方,用于教学或挑战。
周报生成器 - 自动汇总本周工作与计划
填写本周完成事项与下周计划,选择模板一键生成专业周报,支持复制或导出图片,提升汇报效率。
保密协议(NDA)在线生成器 - 免费定制法律模板
填写双方信息及保密范围,一键生成标准保密协议文档,支持导出PDF,适合初创团队与自由职业者。
链接短码生成器 - 随机安全字符串链接
输入长链接,生成一个伴随随机短码的完整离线URL(可自定义域名前缀)。
Identicon头像生成器 - 哈希几何图案标识
根据用户名字符串,用哈希值生成对称的几何图案头像,用于默认用户图标。
虚拟信用卡号生成 - 测试用有效Luhn卡号
生成通过Luhn算法校验但无实际金钱的卡片号码,附带有效日期供开发测试。
暗黑模式切换器 - CSS变量自动生成
设置亮色和暗色主题色,一键生成利用CSS变量和localStorage实现的暗黑切换代码。
项目代号生成器 - 创意项目名/英文组合
组合形容词+名词生成类黑客/极客风的项目代号,告别选择困难。
自定义光标生成器 - 在线CSS鼠标指针代码
选择或上传图标,生成将自定义图像或SVG用作鼠标指针的CSS代码,并预览效果。
CSS图案生成器 - 条纹/格子/圆点背景代码
选择条纹、网格、波点等预设图案,调节颜色和尺寸,生成纯CSS background代码。
FAQ手风琴生成器 - 问答折叠组件代码
快速创建FAQ样式的手风琴列表,填入问题与答案,生成HTML/CSS/JS交互代码。
工牌/身份证生成器 - 虚拟证件在线制作
自定义头像、姓名、部门等信息,生成虚拟员工ID卡,适合团队活动或内部展示。
收据生成器 - 在线制作假收据小票
填写商家名、物品清单、金额等,生成逼真的收据HTML,可打印作为道具或玩笑。
锦标赛对阵表生成器 - 单淘汰/双败赛程图
输入队伍名称,自动生成单淘汰赛或双败赛程树状图,支持导出HTML,用于赛事组织。
UD5工具箱