文本列对齐器
指导
文本列对齐器
文本列对齐器会在文本之间填充空格,使选定的分隔符——如等号、冒号、注释标记、箭头、管道、制表符或任何自定义字符串——在每一行中垂直对齐。它将不整齐的键值块、配置片段和内联注释转换为清晰的视觉列,而无需重新编写内容本身,从而使数据结构一眼即可扫描。
如何使用
- 将您的多行文本粘贴到 输入文本 框中。
- 选择用于对齐的字符或字符串,位于 对齐方式 (或选择 自定义… 以输入您自己的分隔符)。
- 调整选项——保留缩进、移除尾部空白,或更改分隔符前后空格的数量。
- 从 对齐的文本 输出中阅读对齐结果,并通过一键复制或下载。
特征
- 内置的11种分隔符 ——在等号、冒号、注释标记、箭头、管道、逗号、分号、制表符、第一个空格或任何自定义字符串上对齐。
- 对齐每个出现位置 ——可选择将第二、第三及后续分隔符在同一行对齐,而不仅仅是第一个。
- 保留首行缩进 ——保持嵌套配置和代码块的现有缩进层级。
- 可配置的间距 ——设置分隔符前后0到10个空格,以匹配您的个人风格。
- 移除尾部空白 ——移除在版本控制差异中常见的填充空白。
- 实时预览 ——输入时实时更新输出,无需提交按钮。
- 什么是 swift-format 以及为什么一致的格式化很重要? ——文本始终留在您的浏览器中;页面加载后即可离线使用。
常问问题
-
为什么代码格式化工具会通过等号对齐变量赋值?
视觉对齐将一列名称和值转换为眼睛可以一次扫描到底的表格。如果没有对齐,读者必须在每一行重新找到分隔符,这与阅读段落文本的视觉追踪成本大致相同。一旦等号对齐,不匹配的缩进、缺失的条目或一个异常值会立即显现出来——这就是为什么gofmt的结构字段对齐、Sublime的对齐插件以及vim-align等编辑器插件存在。
-
什么是等宽字体对齐,以及为什么它只在等宽字体中有效?
等宽字体使每个字符的宽度相同,因此用N个空格填充总是使下一个字符精确移动N个字符宽度。在比例字体中,字母'i'比'W'窄得多,因此添加空格以使字符位置匹配将无法使像素位置匹配。这就是为什么对齐的代码只在Consolas、Menlo、JetBrains Mono或Courier等字体中看起来对齐——切换到Arial后,列会坍缩。
-
分隔符对齐与使用gofmt或Prettier等工具进行格式化之间的区别是什么?
分隔符对齐是一种纯文本转换,仅在选定字符前后添加或移除空格——它不理解底层语法。gofmt、rustfmt和Prettier会解析源代码为抽象语法树(AST),并根据语言规则重新生成代码,这意味着它们可以拆分行、重新排列导入项,并决定在何处对齐是或不是合适的。因此,分隔符对齐更适合纯文本、配置片段和临时表格,而基于AST的格式化工具则适用于生产源代码。
-
在什么情况下列对齐反而会损害可读性而不是帮助可读性?
对齐的列会增加版本控制中的可见变更:更改某一行标识符的长度会迫使整个块重新填充,因此一个字符的重命名会变成多行差异。这是Go作者从某些模式中移除列对齐行为的主要原因,也是Prettier有意不进行对齐的原因。此外,对齐在长尾异常情况下会失效——一个非常长的键会使其他所有行产生宽大的间隙,这比一个空格更难阅读。
