docs: 完善 README,应用名称统一为 DiffLens
This commit is contained in:
@@ -1,3 +1,92 @@
|
|||||||
# difflens
|
# DiffLens
|
||||||
|
|
||||||
DiffLens - 精美酷炫的文本对比桌面应用 (Text Diff Desktop App built with TypeScript + React + Electron)
|
> 精美酷炫的开源文本差异化对比桌面应用
|
||||||
|
> Text Diff Desktop App — built with **TypeScript + React + Electron**
|
||||||
|
|
||||||
|
DiffLens 是一款跨平台桌面文本对比工具,帮助你快速定位两份文件之间的所有差异。它采用暗色科幻视觉风格,提供**行级 + 词级内联高亮**的双栏并排视图与流畅的差异导航,操作简单、开箱即用。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ 特性
|
||||||
|
|
||||||
|
- **双栏并排对比**:左(原文件)右(对比文件)对照,行号清晰对齐
|
||||||
|
- **行级 + 词级双重高亮**:整行增删一目了然,同一行内的细微改动也能被精确定位
|
||||||
|
- **差异导航**:一键“上一处 / 下一处”在差异之间跳跃,也可直接点击定位
|
||||||
|
- **智能编码识别**:自动探测 UTF-8 / UTF-16 / GBK(含 BOM),中文文档不乱码
|
||||||
|
- **忽略选项**:支持“忽略行首尾空白”“忽略大小写”,适配弱差异场景
|
||||||
|
- **差异统计徽章**:实时统计新增 / 删除 / 修改行数
|
||||||
|
- **拖拽与菜单双入口**:支持文件拖拽导入,也支持顶部菜单与快捷键打开
|
||||||
|
- **滚动联动**:左右两个面板滚动位置自动同步
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧰 技术栈
|
||||||
|
|
||||||
|
| 层次 | 技术 |
|
||||||
|
| --- | --- |
|
||||||
|
| 语言 | TypeScript |
|
||||||
|
| UI | React 18 |
|
||||||
|
| 桌面壳 | Electron |
|
||||||
|
| 构建 | electron-vite (Vite 5) |
|
||||||
|
| 打包 | electron-builder |
|
||||||
|
| Diff 引擎 | jsdiff(行级 LCS + 词级词法 diff) |
|
||||||
|
| 编码 | iconv-lite |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 安装依赖
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 启动开发模式(打开 Electron 窗口)
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# 类型检查
|
||||||
|
npm run typecheck
|
||||||
|
|
||||||
|
# 生产构建
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### 打包安装包
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build:win # Windows NSIS 安装包(需在 Windows 上执行)
|
||||||
|
npm run build:mac # macOS DMG
|
||||||
|
npm run build:linux # Linux AppImage / deb
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ 架构
|
||||||
|
|
||||||
|
采用 Electron 经典三进程模型:
|
||||||
|
|
||||||
|
```
|
||||||
|
src/
|
||||||
|
├── main/ # 主进程:窗口、菜单、文件读取与编码探测、IPC
|
||||||
|
├── preload/ # 预加载:contextBridge 安全桥,仅暴露最小 API
|
||||||
|
└── renderer/ # 渲染进程:React 界面与全部 diff 逻辑
|
||||||
|
├── diff/ # diff 引擎(行级 + 词级高亮)
|
||||||
|
├── components/ # 界面组件(DiffView / Toolbar 等)
|
||||||
|
└── styles/ # 全局主题样式
|
||||||
|
```
|
||||||
|
|
||||||
|
**安全设计**:渲染进程通过 `contextBridge` 隔离,不直接接触 Node 能力;文件读取等系统操作统一收敛在主进程,仅经 IPC 白名单暴露。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 发布
|
||||||
|
|
||||||
|
- 作者:thzxx
|
||||||
|
- 组织:MetonaTeam
|
||||||
|
- 开源协议:MIT License(见 [LICENSE](./LICENSE))
|
||||||
|
- 版本:0.1.0
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 License
|
||||||
|
|
||||||
|
[MIT](./LICENSE) © 2026 thzxx 团队(MetonaTeam)
|
||||||
Reference in New Issue
Block a user