mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-06-28 17:25:54 +08:00
3a21891f84e394fe176374bac80f49a214a9bb36
- handleBrowse 改用 @tauri-apps/plugin-dialog 原生目录选择 - handleImport 清理临时 DOM 元素(add input.remove()) - config/default.json 实际导入生效(maxHistory、path 长度限制) - app-store.ts 长度检查改用配置值 - 删除 AppShell 中与 store 重复的长度检查 - 新增 ErrorBoundary 组件避免单异常白屏 - StatusBar 加载失败时显示重试按钮 - 取消按钮检查 isModified 未保存提示 - lib.rs 注册 tauri-plugin-dialog - tsconfig 添加 resolveJsonModule - CLAUDE.md 添加 cargo test 运行时说明 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
PathEditor v4.0
Windows 系统环境变量 (PATH) 编辑器,基于 Tauri 2.x + React 19 + TypeScript + Rust 构建。
功能
- 查看和编辑系统/用户 PATH 环境变量
- 新建、编辑、删除、上移、下移路径条目
- 一键清理无效和重复路径
- 完整撤销/重做支持(最多 50 步)
- 导入/导出 JSON、CSV、TXT 三种格式
- 深色模式 / 浅色模式切换
- 中英文界面切换
- 合并预览(同时查看系统 + 用户路径)
- 搜索过滤
- 文件夹拖拽添加
- 注册表备份
运行
需要管理员权限才能编辑系统 PATH(非管理员自动进入只读模式)。
# 安装依赖
npm install
# 开发模式(热更新)
npx tauri dev
# 构建安装包
npx tauri build
技术栈
| 层 | 技术 |
|---|---|
| 前端框架 | 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 | 帮助 |
开发
# 前端测试
npm test
# 前端测试(监听模式)
npm run test:watch
# Rust 后端检查
cd src-tauri && cargo check
# Rust 后端测试
cd src-tauri && cargo test
许可证
MIT License
作者
刘航宇 — GitHub
Description
Path Editor 是一个专为 Windows 用户设计的系统环境变量(PATH)管理工具。它基于原生 C 语言和 IUP 图形库开发,旨在替代 Windows 自带的简陋编辑界面。 相比系统自带的编辑器,Path Editor 提供了更加直观的双视图(系统/用户变量)界面、智能的路径有效性检测、自动备份机制以及便捷的拖拽操作,让环境变量的管理变得安全、高效且轻松。无论您是开发者还是系统管理员,它都是您配置开发环境的得力助手。
https://github.com/LHY0125/PathEditor
Readme
MIT
15 MiB
Languages
C
70.8%
C++
26.7%
Batchfile
1.1%
CMake
0.8%
Lua
0.6%