mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-05-10 02:09:46 +08:00
256e793ee40bd0ff887eb4725c27a215cf3b2136
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Path Editor (系统环境变量编辑器)
- Path Editor 是一个专为 Windows 用户设计的系统环境变量(PATH)管理工具。它基于原生 C 语言和 IUP 图形库开发,旨在替代 Windows 自带的简陋编辑界面。
- 相比系统自带的编辑器,Path Editor 提供了更加直观的双视图(系统/用户变量)界面、智能的路径有效性检测、自动备份机制以及便捷的拖拽操作,让环境变量的管理变得安全、高效且轻松。无论您是开发者还是系统管理员,它都是您配置开发环境的得力助手。
✨ 功能特点
-
🛡️ 安全第一:
- 自动备份:每次保存前自动备份,支持自定义备份目录(默认
%APPDATA%/PathEditor/backups/)。 - 只读模式:非管理员运行时自动切换到只读模式,防止误操作。
- 权限检测:智能检测当前运行权限。
- 自动备份:每次保存前自动备份,支持自定义备份目录(默认
-
📑 双视图管理:
- 完美支持 System (系统变量) 和 User (用户变量) 的分离查看与编辑。
- 清晰的 Tab 标签页切换。
-
🔴 智能诊断与维护:
- 无效路径高亮:自动检测路径是否存在,不存在的显示为红色。
- 重复路径高亮:自动检测重复项,重复的显示为橙色。
- 一键清理:智能移除所有无效和重复的路径,保持环境整洁。
-
📂 高效交互:
- 拖拽支持:直接将文件夹拖入窗口即可添加(支持管理员模式下的 UIPI 穿透)。
- 实时搜索:顶部搜索框支持不区分大小写的实时过滤查找。
- 快捷键:支持 Delete 键快速删除选中项。
-
🔄 导入导出:
- 导出备份:将 PATH 导出为 JSON 文件,方便备份和迁移。
- 导入恢复:从 JSON 文件导入路径配置。
- 格式兼容:支持旧版 TXT 格式导入。
-
🌍 多语言支持:
- 内置中文和英文界面,支持运行时切换。
- 基于 gettext 国际化框架,易于扩展其他语言。
-
便捷管理:
- ➕ 新建:添加新路径到列表。
- 📂 浏览:直接从文件资源管理器选择目录添加。
- ✏️ 编辑:双击或点击按钮修改现有路径。
- 🗑️ 删除:移除不需要的路径。
- ⬆️⬇️ 排序:上移/下移调整路径优先级。
-
轻量级:原生 C 语言编写,无臃肿依赖,运行速度极快。
🛠️ 架构与二次开发
本项目注重代码的模块化和可维护性,采用了经典的 MVC 分层架构,非常适合作为 C 语言桌面程序开发的参考:
- 分层设计:
src/core/(Model): 核心数据与业务逻辑,完全脱离 UI 框架(无任何<iup.h>依赖)。src/ui/(View): 负责界面布局与组件的纯视觉展示。src/controller/(Controller): 负责连接用户交互与底层数据,已按功能拆分为 6 个模块:callbacks.c- 辅助函数与上下文管理callbacks_basic.c- 基础 CRUD 操作(新建、编辑、浏览、删除)callbacks_nav.c- 导航操作(上移、下移、清理)callbacks_search.c- 搜索过滤与拖拽callbacks_io.c- 导入导出callbacks_sys.c- 系统操作(保存、取消、帮助、语言切换)
src/utils/(Utils): 纯粹的底层工具类封装(系统级调用、字符串处理)。
- 热配置系统:所有 UI 参数(窗口大小、按钮文本、布局间距等)均通过
lua/config.lua配置,修改无需重新编译即可生效。 - 国际化支持:基于 gettext 框架,支持中英文运行时切换,语言文件位于
locale/目录。 - 清晰的应用状态:摒弃了脆弱的全局变量模式,采用
AppContext统一管理应用运行时的上下文状态,通过指针传递,安全可靠。 - 开发工具库:
- 统一错误码系统 (
utils/error_code.h) - 11 种细分错误码 - 安全字符串函数 (
utils/safe_string.h) - 字符串列表封装 (
utils/string_ext.h) - 带访问器函数的安全动态数组 - 日志系统 (
utils/logger.h) - 支持 DEBUG/INFO/WARN/ERROR 四个级别 - 控件名称常量 (
utils/ui_constants.h) - 集中管理所有 IUP 控件名称
- 统一错误码系统 (
📦 下载与安装
您可以从 Releases 页面下载最新的安装包 (PathEditorSetup.exe)。
安装完成后,请以管理员身份运行程序以确保能够保存对系统环境变量的修改。
🛠️ 构建指南
如果您想从源码构建本项目,请按照以下步骤操作:
环境要求
- Windows 操作系统
- GCC 编译器 (推荐 MinGW-w64)
- CMake 工具 (推荐使用 CMake 构建)
- IUP 库 (已包含在
libs目录下) - Inno Setup 6 (仅打包需要)
编译步骤 (推荐使用 CMake)
本项目已迁移至 CMake 构建系统,支持生成更标准的构建文件并集成到各大 IDE。
-
克隆仓库:
git clone https://github.com/LHY0125/PathEditor.git cd PathEditor -
使用 CMake 配置和编译:
# 生成构建系统 (以 MinGW 为例) cmake -B build -G "MinGW Makefiles" # 编译项目 cmake --build build -
运行: 编译成功后,可执行文件位于
build/PathEditor.exe。
打包 (可选)
本项目使用 Inno Setup 生成安装包。
- 确保已安装 Inno Setup 6。
- 运行根目录下的
build_installer.bat脚本。 - 生成的安装包将位于
dist/dist/PathEditorSetup.exe。
📝 使用说明
- 启动:右键点击程序图标,选择“以管理员身份运行”。
- 查看:程序启动后会自动加载当前的系统 PATH 变量。
- 红色条目表示路径不存在。
- 橙色条目表示路径重复。
- 搜索:在顶部输入关键词可快速筛选。
- 修改:
- 拖拽文件夹到列表可直接添加。
- 使用右侧按钮栏进行常规操作。
- 点击“一键清理”可自动删除无效和重复项。
- 保存:操作完成后,务必点击底部的【确定】按钮保存更改。
- 生效:保存后,某些正在运行的程序可能需要重启才能识别新的环境变量。CMD 或 PowerShell 窗口需要重新打开。
👤 作者信息
- 作者:LHY
- 邮箱:3364451258@qq.com
- GitHub:https://github.com/LHY0125/PathEditor
如果您觉得这个工具对您有帮助,请给我的 GitHub 仓库点个 Star ⭐️!
📄 许可证
本项目基于 MIT 许可证开源,您可以在遵守许可证条款的前提下自由使用、修改和分发本项目的代码。
详细信息请参阅 LICENSE 文件。
Copyright © 2026 LHY. All Rights Reserved.
Description
Path Editor 是一个专为 Windows 用户设计的系统环境变量(PATH)管理工具。它基于原生 C 语言和 IUP 图形库开发,旨在替代 Windows 自带的简陋编辑界面。 相比系统自带的编辑器,Path Editor 提供了更加直观的双视图(系统/用户变量)界面、智能的路径有效性检测、自动备份机制以及便捷的拖拽操作,让环境变量的管理变得安全、高效且轻松。无论您是开发者还是系统管理员,它都是您配置开发环境的得力助手。
https://github.com/LHY0125/PathEditor
Readme
MIT
11 MiB
Languages
C
70.8%
C++
26.7%
Batchfile
1.1%
CMake
0.8%
Lua
0.6%