Zed 新特性:“Expand All”:一个快捷键,两种哲学
如果你用过 Zed大概会有这种感觉它很快很干净但有些功能你得“找”一下才能发现。比如在项目面板Project Panel里你一直可以用cmd-left或ctrl-left一键折叠所有文件夹让项目树瞬间清爽。但对应的“展开全部”呢对不起没有。如果你想看完整的目录结构只能手动一个一个点开文件夹或者用cmd-a全选后再按right——这是一种能用的“组合技”但它不够直接也不够“发现”。直到 zed新版本 的出现解决了整个尴尬局面。zed只做了一件事在项目面板的右键菜单里增加了“展开全部”和“折叠全部”两个选项并为“展开全部”添加了cmd-right或ctrl-right的全局快捷键与已有的cmd-left形成完美对称。下面来看看这2种操作首先看折叠全部整个功能是之前就有的你可以先选中左边项目的一个文件然后使用快捷键ctrl left也就是左箭头把所有打开的文件折叠起来如果你选择的是项目下面根目录的文件或者文件夹折叠的就是整个项目的文件这时候可以右键看到折叠选项再来看看展开全部和折叠全部类似快捷键是ctrl right但这背后不仅仅是加两个菜单项那么简单。它折射出 Zed 这个编辑器乃至整个现代工具设计中的一种哲学张力。“极简主义”与“可发现性”的平衡整个功能的讨论过程很有意思。一开始zed的方案是在项目面板的根目录旁边添加两个图标按钮用来展开和折叠。这是一个很直观的“所见即所得”做法很多编辑器都这么干。比如vscodeideavscode的设计这里它没有展开全部。在 VSCode 的设计者看来往往会制造一场灾难成千上万个文件夹和文件同时铺开你的侧边栏会瞬间变得无法浏览。全部展开可能不是一个高频、甚至不是一个合理的默认操作。 他们更倾向于让你按需、逐级地探索目录结构。但 Zed 的核心作者拒绝了这种方案。他的理由非常“Zed”“我们想让 Zed 保持尽可能简洁。这些操作你并不会频繁触发所以与其放两个图标按钮不如先把它们放在右键菜单里同时显示出快捷键提示这样人们就能学会怎么用快捷键。”这个决定清晰地划出了一条界限Zed 追求的“简洁”不是“功能少”而是“界面上的干扰少”。它不愿意为了一个低频操作在核心界面上永久地占据两个图标位置。它选择把功能“藏”在右键菜单里但通过显示快捷键引导用户走向更高效的键盘操作。从“发现”到“精通”的产品路径这个 功能的设计恰好形成了一个完整的用户体验闭环发现Discover新用户或不熟悉快捷键的用户在项目面板的文件夹上点击右键会看到清晰的“Expand All”和“Collapse All”菜单项以及它们后面跟着的快捷键提示⌘→/⌘←。这是第一次接触用户通过鼠标完成了操作。学习Learn用户看到了快捷键提示记在了心里。下次他想展开全部时可能就会尝试直接按下cmd-right。成功了操作效率提升了一档。精通Master用户完全记住了快捷键再也不会去点右键菜单。他手指在键盘上飞舞操作如行云流水。这是 Zed 期望的“键盘优先”的终极状态。这种设计思路其实很接近游戏设计里的“渐进式教程”——不在一开始用弹窗轰炸你而是让你在需要的时候自己发现更高级的操作方式。在我看来这个 新功能 的价值远远超过了“加两个功能”本身。它是 Zed 团队对“开发者体验”DX理解的一次具体落地。它尊重了用户的心智模型cmd-left折叠全部cmd-right展开全部这是一对符合直觉的对称操作。如果你熟悉 macOS 下的文本编辑或 Finder 操作这个映射几乎是零学习成本的。它是对“键盘流”文化的坚持Zed 的核心理念之一是“模态编辑”和“键盘优先”。#59567补全了项目面板操作中最后一个关键的键盘拼图让重度键盘用户的工作流更加完整。它展示了“克制”的设计美学在“加个按钮”就能解决的问题面前Zed 选择了更复杂但更干净的“右键菜单快捷键引导”方案。这种克制是让一个工具保持长期优雅的关键。当然这种设计也有代价。总有用户会觉得“功能藏得太深”或者“我从来不去点右键菜单”。但从 Zed 的整体定位来看它瞄准的恰恰是那些愿意花五分钟探索快捷键、追求极致效率的开发者群体。总结Zed 的这个 新特性就像是在一个已经打磨得很光滑的工具上又精准地加了一个小小的凹槽。它没有改变工具的外观但当你把手指放上去时你会发现它刚好卡在那里用起来更顺手了。它告诉我们好的工具设计不只是“把功能做出来”更是“把功能用最符合产品气质的方式放到用户需要它的地方”。在 Zed 这里这个“气质”就是界面极简键盘优先且相信用户有学习和成长的能力。这或许才是开发者工具能够让人爱不释手的真正秘诀。