feat: v0.3.0 大文件性能与差异导航增强 - 自研虚拟滚动、仅看差异过滤(折叠提示行)、F7/Shift+F7导航快捷键、交换左右侧、忽略空行
This commit is contained in:
+4
-3
@@ -20,7 +20,7 @@ z = 补丁版本号(Patch)
|
||||
> **`x` 永远是 `0`,永远不要提升到 `1.0.0`。**
|
||||
> 版本迭代**只允许修改 `y` 和 `z`**,`x` 保持 `0` 不变。
|
||||
|
||||
当前基线版本:**`0.2.6`**
|
||||
当前基线版本:**`0.3.0`**
|
||||
|
||||
---
|
||||
|
||||
@@ -62,8 +62,9 @@ z = 补丁版本号(Patch)
|
||||
0.2.3 ← 安装器优化(已发布):NSIS 向导式安装,支持手动选择安装目录
|
||||
0.2.4 ← 健壮性与体验打磨(已发布):读取容错与 10MB 大文件防护 · 横向滚动同步 · 下拉点击外部/Esc 关闭 · 二进制误判预警
|
||||
0.2.5 ← 一致性与边角修复(已发布):右键菜单边缘防溢出 · 粘贴入口 10MB 防护 · 拖拽读取失败提示 · 多文件拖拽提示 · 剪贴板统一走主进程 · 主进程异步读取
|
||||
0.2.6 ← 主进程异步收尾与边角防护(当前):保存报告异步写盘 · 拖拽解码 handler 异步化 · 空白粘贴拦截 · 超多行卡顿预警 · 清理 mac 无效签名配置 · 文档与测试同步
|
||||
0.3.0 ← 新增功能(候选:虚拟滚动 · 仅看差异过滤 · 差异导航快捷键 · 交换左右侧 · 忽略空行 · 主进程解码 worker 化)
|
||||
0.2.6 ← 主进程异步收尾与边角防护(已发布):保存报告异步写盘 · 拖拽解码 handler 异步化 · 空白粘贴拦截 · 超多行卡顿预警 · 清理 mac 无效签名配置 · 文档与测试同步
|
||||
0.3.0 ← 大文件性能与差异导航增强(当前):自研虚拟滚动 · 仅看差异过滤(折叠提示行) · F7/Shift+F7 导航快捷键 · 交换左右侧 · 忽略空行
|
||||
0.4.0 ← 新增功能(候选:主进程解码 worker 化 · 渲染进程 diff 计算 worker 化 · Playwright E2E · 文件夹对比)
|
||||
...
|
||||
0.y.z ← 长期停留,永不进入 1.x
|
||||
```
|
||||
|
||||
+18
-5
@@ -70,7 +70,7 @@ src/renderer/src/
|
||||
- 完全一致 → 全部 `unchanged`,无差异
|
||||
- 行级:新增、删除(含左/右行号、空槽 lineNo 为 `null`)
|
||||
- 词级:同一删除/新增配对为 `modified` 并产生左右 `segs`
|
||||
- 忽略选项:`ignoreCase`、`trimWhitespace` 生效与关闭
|
||||
- 忽略选项:`ignoreCase`、`trimWhitespace`、`ignoreBlankLines` 生效与关闭
|
||||
- 行切分:结尾换行不产生多余空行
|
||||
|
||||
### 5.2 报告生成(`report.ts`)
|
||||
@@ -79,10 +79,23 @@ src/renderer/src/
|
||||
- Markdown:表格化、管道符转义保持表格结构
|
||||
- 格式分发与扩展名映射(`REPORT_EXT`)
|
||||
|
||||
### 5.3 应用冒烟(`App.tsx`)
|
||||
- 渲染应用名 `DiffLens`
|
||||
- 未加载文件时展示左右空态面板
|
||||
- 未加载文件时不显示导出入口(导出仅在加载后可用)
|
||||
### 5.3 文本工具(`textUtils.ts`)
|
||||
- 文本扩展名白名单放行 / 拒绝 / 大小写不敏感
|
||||
- `countLines` 与 diff 引擎切分规则一致(结尾换行、CRLF)
|
||||
- `displayCols` 半角 1 列 / 全角 2 列 / 中英混排叠加
|
||||
|
||||
### 5.4 对比视图(`DiffView.tsx`)
|
||||
- 渲染:行内容、行号、词级高亮段、行尾空白标注
|
||||
- 虚拟滚动:大行数下仅渲染可见窗口(DOM 行数远小于总量);滚动后窗口移动;容器总高度按全部行数撑满
|
||||
- 折叠提示行:默认文案与自定义文案(仅看差异视图)
|
||||
- 交互:左右/横向滚动同步、右键菜单回调、拖放回调、导航定位走受控 `scrollTo`
|
||||
|
||||
### 5.5 应用冒烟与集成(`App.tsx`)
|
||||
- 渲染应用名 `DiffLens`;未加载文件时展示左右空态面板、不显示导出入口
|
||||
- 加载文件后的对比视图、导出、右键菜单、拖拽、粘贴、容错提示
|
||||
- 仅看差异视图:未更改行折叠、折叠提示出现、关闭后恢复
|
||||
- F7 / Shift+F7 导航快捷键;粘贴弹窗打开时快捷键不抢占
|
||||
- 交换左右侧后面板文件互换
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user