docs: 重写 README.md 为开源项目风格

- 添加 badges(版本/Tauri/React/Rust/测试数)
- 按功能模块分组(路径管理/验证/撤销/导入导出/安全/界面)
- 补充安装章节(Releases + 源码构建)
- 补充贡献指南(开发环境、代码规范)
- 完整项目结构和快捷键表

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 08:22:35 +08:00
parent 19bdb3078a
commit 732b2aabaa
+136 -62
View File
@@ -1,88 +1,94 @@
# PathEditor v4.0 <p align="center">
<h1>PathEditor</h1>
<p>Windows 系统环境变量 (PATH) 编辑器</p>
</p>
Windows 系统环境变量 (PATH) 编辑器,基于 Tauri 2.x + React 19 + TypeScript + Rust 构建。 <p align="center">
<img src="https://img.shields.io/badge/version-4.0.0-blue" alt="version">
<img src="https://img.shields.io/badge/tauri-2.x-ffa03a" alt="tauri">
<img src="https://img.shields.io/badge/react-19-61dafb" alt="react">
<img src="https://img.shields.io/badge/rust-1.95-000000" alt="rust">
<img src="https://img.shields.io/badge/typescript-strict-blue" alt="typescript">
<img src="https://img.shields.io/badge/license-MIT-green" alt="license">
<img src="https://img.shields.io/badge/tests-55%20passed-brightgreen" alt="tests">
</p>
---
## 简介
PathEditor 是 Windows PATH 环境变量的可视化管理工具。支持系统变量和用户变量的增删改查、拖拽排序、一键清理无效路径、导入导出以及完整的撤销/重做。
v4.0 使用 **Tauri 2.x + React 19 + TypeScript + Rust** 完全重写,替代了原有的 C + IUP GUI。
## 截图
_[待补充]_
## 功能 ## 功能
- 查看和编辑系统/用户 PATH 环境变量 ### 路径管理
- 查看和编辑 **系统 PATH**HKLM)和 **用户 PATH**HKCU
- 新建、编辑、删除、上移、下移路径条目 - 新建、编辑、删除、上移、下移路径条目
- 一键清理无效和重复路径 - 多选批量删除
- 完整撤销/重做支持(最多 50 步) - 实时搜索过滤
- 导入/导出 JSON、CSV、TXT 三种格式 - 合并预览(系统 + 用户路径并列显示)
- 深色模式 / 浅色模式切换
- 中英文界面切换
- 合并预览(同时查看系统 + 用户路径)
- 搜索过滤
- 文件夹拖拽添加 - 文件夹拖拽添加
- 注册表备份
## 运行 ### 路径验证
- **红色**标记:路径在文件系统中不存在
- **橙色**标记:路径在列表中重复出现
- 环境变量路径(含 `%VAR%`)悬浮展开预览
需要管理员权限才能编辑系统 PATH(非管理员自动进入只读模式)。 ### 撤销/重做
- 支持 8 种操作类型,最多 50 步历史
- 新增、删除、编辑、移动、清理、清空、导入均可撤销
### 导入/导出
- **JSON**:结构化导出,含版本和时间戳
- **CSV**UTF-8 BOM 编码,兼容 Excel
- **TXT**:纯文本,每行一个路径
### 安全
- 保存前自动备份注册表到 `%APPDATA%/PathEditor/backups/`
- PATH 长度检查(Windows 单变量上限 32767 字符)
- 非管理员自动进入**只读模式**
- 保存中途失败精确提示哪个注册表 hive 出错
### 界面
- 深色模式 / 浅色模式
- 中文 / English 界面切换
- 全局键盘快捷键
- 修改状态指示(黄点)+ 未保存退出确认
## 安装
从 [Releases](https://github.com/LHY0125/PathEditor/releases) 下载最新版 `PathEditor_4.0.0_x64-setup.exe` 安装。
或从源码构建:
```bash ```bash
# 安装依赖 # 安装依赖
npm install npm install
# 开发模式(热更新)
npx tauri dev
# 构建安装包 # 构建安装包
npx tauri build npx tauri build
``` ```
## 技术栈 > **要求**Windows 10+(自带 WebView2),管理员权限才能编辑系统 PATH。
| 层 | 技术 |
|---|---|
| 前端框架 | React 19 + TypeScript |
| UI 样式 | Tailwind CSS 4 |
| 状态管理 | Zustand |
| 国际化 | i18next |
| 桌面框架 | Tauri 2.x |
| 后端语言 | Rust |
| 测试 | Vitest (前端) |
| 构建 | Vite |
## 架构
```
src/ # React 前端
├── core/ # 纯逻辑(StringList、撤销/重做、路径管理、导入导出)
├── store/ # Zustand 状态管理
├── components/ # UI 组件(列表、工具栏、对话框)
├── hooks/ # 自定义 Hooks(键盘快捷键、路径验证)
├── i18n/ # 中英文翻译
└── config/ # UI 参数配置
src-tauri/ # Rust 后端
└── src/commands/
├── registry.rs # 注册表读写
├── system.rs # 权限检测、路径验证、环境变量展开、系统广播
└── backup.rs # 注册表备份
```
## 快捷键
| 快捷键 | 功能 |
|--------|------|
| Ctrl+N | 新建路径 |
| Ctrl+S | 保存 |
| Ctrl+Z | 撤销 |
| Ctrl+Y | 重做 |
| Ctrl+F | 搜索 |
| Delete | 删除选中 |
| F1 | 帮助 |
## 开发 ## 开发
```bash ```bash
# 开发模式(热更新)
npx tauri dev
# 仅前端
npm run dev
# 前端测试 # 前端测试
npm test npm test
# 前端测试(监听模式)
npm run test:watch
# Rust 后端检查 # Rust 后端检查
cd src-tauri && cargo check cd src-tauri && cargo check
@@ -90,10 +96,78 @@ cd src-tauri && cargo check
cd src-tauri && cargo test cd src-tauri && cargo test
``` ```
### 技术栈
| 层 | 技术 |
|---|---|
| 前端框架 | React 19 + TypeScript (strict) |
| UI 样式 | Tailwind CSS 4 |
| 状态管理 | Zustand |
| 国际化 | i18next |
| 桌面框架 | Tauri 2.x |
| 后端 | Rust (winreg + windows-rs FFI) |
| 前端测试 | Vitest (45 个测试) |
| Rust 测试 | cargo test (10 个测试) |
| 构建 | Vite |
| 打包 | NSIS |
### 项目结构
```
src/ # React 前端
├── core/ # 纯逻辑 — 零框架依赖、零平台依赖
├── store/ # Zustand 状态管理
├── components/
│ ├── layout/ # AppShell、TitleBar、StatusBar、ErrorBoundary
│ ├── path-list/ # PathTable、MergePreview
│ ├── toolbar/ # ToolBar、ActionButtons、UndoRedoButtons、SearchInput
│ ├── dialogs/ # PathEditDialog、HelpDialog、ImportDialog
│ └── ui/ # Modal、buttons(共享组件)
├── hooks/ # useAppActions、useKeyboard
├── i18n/ # zh-CN / en
└── config/ # default.json
src-tauri/ # Rust 后端
└── src/commands/
├── registry.rs # 注册表读写
├── system.rs # 权限检测、路径验证、环境变量展开
└── backup.rs # 注册表备份
tests/unit/ # 前端单元测试
```
## 快捷键
| 快捷键 | 功能 |
|--------|------|
| `Ctrl+N` | 新建路径 |
| `Ctrl+S` | 保存 |
| `Ctrl+Z` | 撤销 |
| `Ctrl+Y` | 重做 |
| `Ctrl+F` | 搜索 |
| `Delete` | 删除选中 |
| `F1` | 帮助 |
## 贡献
欢迎提交 Issue 和 Pull Request。在开始大改动前,建议先开 Issue 讨论。
### 本地开发环境
- Node.js 22+
- Rust 1.95+ (stable-x86_64-pc-windows-gnu)
- MinGW-w64 (GCC 15.x 需配置 `-lmcfgthread` 链接标志)
### 代码规范
- TypeScript `strict: true`,零编译错误
- 所有 Rust `unsafe` 块必须有 `// SAFETY:` 注释
- 前端核心逻辑在 `src/core/`,纯函数,零依赖,可独立测试
## 许可证 ## 许可证
MIT License MIT License
## 作者 ## 作者
刘航宇 — [GitHub](https://github.com/LHY0125/PathEditor) [刘航宇](https://github.com/LHY0125) — 河南理工大学人工智能协会