键盘快捷键
Designer 的内置快捷键不算很多,但都比较基础,足够覆盖日常选择、复制和微调。
生效条件
当前实现里,快捷键会先过三道判断:
- 当前不能处在激活的深度编辑会话里。
- 事件目标不能是输入框、下拉框或可编辑内容区。
- 焦点语义必须还属于设计器,而不是面板或弹窗。
如果你在属性面板输入文字时发现快捷键没有触发,这就是预期行为。
内置快捷键
先看完整列表:
| 快捷键 | 作用 |
|---|---|
Ctrl/⌘ + A | 全选当前可交互元素 |
Ctrl/⌘ + C | 复制选中元素 |
Ctrl/⌘ + X | 剪切选中元素 |
Ctrl/⌘ + V | 粘贴剪贴板内容 |
Ctrl/⌘ + D | 复制当前选区 |
Delete | 删除选中元素 |
Backspace | 删除选中元素 |
Arrow | 微调位置 |
Shift + Arrow | 以更大步长微调位置 |
如果你只想先记最常用的,就记复制、粘贴、删除和方向键这组。
方向键步长
当前实现里,方向键的步长是按“屏幕像素感知”算的,再转换到当前模板单位。
可以把它理解成:
- 普通方向键,大约对应 1 个屏幕像素的微移。
Shift + Arrow,大约对应 10 个屏幕像素的微移。
这样做的好处是,不管你的模板单位是 mm、pt 还是 px,方向键手感都比较一致。
撤销重做快捷键
这一点最好提前知道,免得你默认去按 Ctrl/⌘ + Z。
Designer 目前没有内置撤销和重做的键盘快捷键。撤销栈本身是有的,但默认入口还是工具栏按钮。
如果你的产品很依赖这组快捷键,最合适的做法不是去改内部行为,而是通过 Contribution 注册自己的命令和触发入口。
排查思路
如果用户反馈“快捷键没反应”,先按这个顺序查:
- 当前是不是还在 Designer 画布语义下。
- 焦点是不是落在输入框或对话框里。
- 当前有没有选中元素。
特别是方向键这一组,如果没有选区,Designer 会直接让出这个按键,不会强行拦截页面默认行为。
关于快捷键,目前知道这些就够用了。熟悉之后再去看 贡献扩展开发。