
不知道你有没有被Zed的和弦快捷键搞迷糊过。平时配置一堆二阶段快捷键最典型就是cmd‑k开头这一组。按下cmd‑k之后编辑器正在等待你敲下第二个按键。旧版Zed的which‑key悬浮提示有个很别扭的老问题只有带超时的快捷键序列底部或者弹窗才会出现等待按键指示器。对于没有设置超时的和弦untimed chords也就是你可以慢悠悠思考不用急着马上按下下一个键的快捷键组合。按下第一组按键之后屏幕安安静静什么提示都没有。这下尴尬就来了。手指已经敲完cmd‑k大脑突然短暂失忆。我接下来该按哪个键来着到底是再按d还是按x屏幕上没有任何反馈你根本分不清是我刚才快捷键按错失效了还是编辑器正在静静等着我的第二下按键。很多时候就只能反复再按一遍cmd‑k或者干脆随便乱敲一个键取消掉。要么索性打开设置翻一遍自己的快捷键绑定。这种体验说不上是重大bug但日常敲代码的时候时不时就卡这么一下很打断写代码的节奏。新版本zed就针对这个优化了使用体验。改动之后就算是没有超时限制的和弦快捷键现在同样可以显示等待按键指示器了并且不再附带倒计时圆圈。拿cmd‑k举例当你按下这第一步界面马上就会出现提示明确告诉你Zed现在正在等待你输入下一个按键。但开发这边还处理了好几个边角的特殊场景。第一是鼠标悬浮行为。以前悬浮在提示弹窗上可以暂停计时版和弦的倒计时。无超时快捷键本身不存在倒计时新版本做了兼容如果鼠标还悬停在指示器或者弹出面板上面后续新生成的超时会主动暂停。第二是弹窗消失延迟的逻辑。原来计时和弦弹窗关闭会保留300毫秒的延迟现在无超时和弦如果在这个短暂窗口内产生了超时也沿用同一套规则。弹窗依旧会按时关掉之后再恢复计时保留完整的一秒等待时间。另外zed还修复了重复显示快捷键的bug旧版本则有重复的出现基于此zed还做了几个优化体验的地方也值得说一说第一个就是会对快捷键列表进行排序先展示独立快捷键条目再展示分组之后按照剩余按键数量、按键标签长度、按键文本继续排序不要小看这小小的一行状态栏提示。喜欢自定义大量多步和弦快捷键的开发者应该深有体会。有不少人故意关掉快捷键序列的自动超时希望自己可以慢慢思考下一步快捷键。过去这么做的代价就是失去状态反馈现在这个短板被补上。现在不管你的快捷键序列设置了超时还是选择不限时间慢慢按键按下第一阶段快捷键之后which‑key都会及时站出来给你状态反馈。再也不用靠猜编辑器到底是等待输入还是已经取消快捷键序列了。对于重度键盘流玩家这一点小改善敲代码的流畅感直接上了一个台阶。