feat: 编辑区缩放支持快捷键与滚轮 - #262
Closed
runningwaterpro wants to merge 1 commit into
Closed
runningwaterpro wants to merge 1 commit into
runningwaterpro wants to merge 1 commit into
Conversation
现在除了状态栏按钮,还可以用键盘和触控板调整当前标签的编辑内容显示比例, 放大、缩小和还原时阅读位置不会跳走。 - `Ctrl/Cmd + =` 和 `Ctrl/Cmd + +` 放大,`Ctrl/Cmd + -` 缩小,`Ctrl/Cmd + 0` 还原 - 快捷键在主窗口获得焦点时即可生效,不需要先点击编辑区 - `Ctrl/Cmd + 滚轮` 调整倍率,普通滚轮保持原有滚动;触控板一次捏合只走一个 10% 档位 - 缩放前后按比例还原滚动位置,代码块复制按钮和语言/模式选择器保持固定尺寸 - 链接提示框改挂到 body 上用视口坐标定位,不再跟随内容缩放或被滚动容器裁掉 - 移除原生菜单的"实际大小"项,避免和 `Ctrl/Cmd + 0` 抢按键 - "设为段落"快捷键从 `Mod-0` 移到 `Mod-Shift-0`,把 `Ctrl/Cmd + 0` 让给缩放还原 - 缩放快捷键由状态栏注册,主题编辑器窗口不再响应 源码模式与富文本共用同一个标签倍率,导出流程不包含缩放,倍率仍只存在于打开标签的内存中。 验证: - pnpm test:34 个测试通过 - pnpm build:通过 - Electron 37 实测:50%~300% 下正文按倍率缩放、外壳与辅助工具尺寸不变、 链接提示框定位偏差 0px、滚动位置恢复误差 <= 0.0006 Related: #14 Related: #15 Related: #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
用户可见变化
底部状态栏的
[−] [100%] [+]之外,现在还可以用键盘和触控板调整当前标签的编辑内容显示比例:Ctrl/Cmd + =/Ctrl/Cmd + +Ctrl/Cmd + -Ctrl/Cmd + 0Ctrl/Cmd + 滚轮窗口获得焦点就能用,不需要先点击编辑区。触控板一次捏合只走一个 10% 档位,不会一路冲到 50% 或 300%。
解决的实际问题
body上用视口坐标定位,之前挂在编辑区容器里会跟随内容缩放,还会被滚动容器裁掉。具体行为
兼容性说明(需要评审确认)
「设为段落」快捷键从
Mod-0移到Mod-Shift-0Ctrl/Cmd + 0原本是「设为段落」,与「缩放还原」冲突。配置默认值是shortcuts: {},所以升级后所有用户都会直接拿到新默认值,不需要迁移。已经手动把「设为段落」绑到Mod-0的用户,那条自定义绑定会被缩放快捷键覆盖。移除原生菜单的「实际大小」项
该项用的是 Electron 的
role: "resetZoom",会在按键到达渲染进程之前就重置整个 Chromium 页面缩放,和本功能直接冲突。移除后Ctrl/Cmd + 0只作用于编辑区,不再重置整页。缩放快捷键不由状态栏以外的地方注册
主题编辑器窗口内嵌了一个
MilkupEditor预览。快捷键改由状态栏注册,而状态栏只存在于主编辑器窗口,所以主题编辑器里按Ctrl/Cmd + 0不会误触发预览缩放。验证
pnpm test:34 个测试通过pnpm build:通过pnpm dev启动无渲染进程报错Ctrl+滚轮阻止页面缩放本次范围
只包含编辑区缩放。不包含双格式剪贴板、侧边栏改动或本地 Agent 配置。
实现复用上游现有的 Milkup 编辑器实例和标签状态,不引入第二份缩放状态。
Related: runningwaterpro#13 #14 #15 #16