Zed 的分屏技巧详解
日常写代码,分屏几乎是刚需。一边看参考代码,一边修改业务逻辑,不用来回切换标签页。VS Code 的分屏大家已经很熟悉,而 Zed 在分屏这件事上,不光是用户体验做得不一样,底层的数据模型也走了另一条路。
在 VS Code 里面,向左、向右、向上、向下拆分编辑器,是四条完全独立的命令。四个命令互相隔离。如果你想给分屏增加统一逻辑,就得分别修改四处实现。上层快捷键虽然设置简单,但底层重复代码比较多。
Zed 的 split 窗格拆分,早期版本也曾走过类似的路子。后来zed做了一次底层重构。不再维护多个独立的分屏动作,直接定义枚举 Split{Left, Up, Right, Down}。上、下、左、右四种拆分方向,全部归到同一个枚举里面。
从使用者的角度来看,Zed 的分屏操作很顺手。你可以把当前编辑器向左或者向右切出一块新窗格,做横向并排;也可以向上、向下分割,实现上下布局。而且 Zed 的窗格支持无限嵌套分割。你可以先横向一分为二,再把右侧窗格继续竖向切分,形成很复杂的多窗格布局。
可以使用命令面板来分割,搜索pane split
也可以使用右上角的图标快速实现分割
效果如下
你要是喜欢,还可以继续分下去
但是当你觉得分的太多了,想删掉某一个pane怎么办呢?
也有办法,先把光标定位到某个pane
然后使用命令面板,搜索pane close all item
在这里插入图片描述
和 VS Code 不一样的一点是 Zed 的窗格管理是一棵树状结构。整个编辑器布局就是一棵窗格树,每一次 split 相当于在树上新增一个子节点。得益于枚举统一封装方向,所有分屏动作复用同一套公共流程:复制当前编辑器状态、创建新窗格、完成布局更新。
普通用户完全感知不到这次底层重构。大家只是享受流畅的分屏。但是正是这一层良好的数据建模,让 Zed 在拖拽调整窗格大小、合并关闭窗格的时候表现更加稳定。
很多人说 Zed 的优势只是 Rust 带来运行速度。但分屏这个例子恰恰说明,编辑器的流畅,不全靠语言性能。好的数据模型,减少重复逻辑,才是上层优秀交互的地基。
不知道平时开发的时候,你一般习惯几屏同时写代码?
- 点赞
- 收藏
- 关注作者
评论(0)