提高字符串的输出效果
作者: Jakeroid创建于 2025年9月14日更新于 2025年11月11日
标签enhancementhelp wanted
问题
字符串内部可以默认修改其输出. 这导致调试时丢失或误导信息.
建议的解决办法
以默认保存所有信息的方式使 IceCream 输出字符串. 这意味着:
- 明确显示控制字符和隐形人,而不是让他们影响终端布局。
- 仔细决定新线是用字面表达还是作为逃生符号表达。
实例
- 控制字符改变输出而不是可见。 例如,\b(后空格)将字符 ~ abc\bX 打印为 abX(信息丢失) 。
- 隐形Unicode字符无声消失. 例如,零宽空间(\u200B),左/右标记(\u200E,\u200F)不显示 – 用户不能告诉它们存在.
- 新线始终显示为多行区块. 我不确定这应该是默认行为。
- 白空间模糊不清。 例如,标签(\t)被扩展为空格,使其无法区分.
- 长弦冲出输出。 非常长的行被完整地印出,没有截断或摘要.
- 有控制字符的字节/字节. 例如,有\n或\x00的字节被打印为生,产生真实的行断或隐形内容.
开放问题
- 逃出/可见模式是否应当是默认行为?
- 是否应有一个选择,以比一行大而更可读的形式输出字符串?
- 我们是否想要概括长字符串(长度,行数,预览),而不是默认打印全部内容?
内容来源: gruns/icecream