feat: v0.3.0 大文件性能与差异导航增强 - 自研虚拟滚动、仅看差异过滤(折叠提示行)、F7/Shift+F7导航快捷键、交换左右侧、忽略空行
This commit is contained in:
+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