Py2exe-GUI/docs/ROADMAP.md
2024-01-02 15:32:08 +08:00

108 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开发待办事项
## 控件
- [ ] 子进程窗口 `SubProcessDlg`
- [x] 将子进程的输出与状态显示至单独的对话框
- [x] 增加多功能按钮
- [x] 关闭窗口时中断子进程、清除输出
- [x] 处理不能正确显示子进程错误的问题(会被“打包完成”遮盖)
- [ ] 增加「将输出导出到日志文件」功能
- [ ] 增加简单高亮功能
- [x] 添加资源文件窗口
- [x] `--add-data``--add-binary`
- [x] `--paths``--hidden-import` 等可多次调用的选项
- [x] 模仿 Windows “编辑环境变量” 窗口,左侧条目,右侧添加删除编辑等按钮
- [x] Python 解释器选择器
- [x] 文件浏览对话框选择解释器可执行文件
- [x] 处理解释器验证器返回结果,异常时弹出对话框要求用户自行检查确认
- [x] 创建「解释器环境类」,保存解释器路径等信息
- [x] ComboBox 中列出各解释器,将解释器环境保存在全局变量 ALL_PY_ENVs 中
- [ ] 识别是否已安装 `PyInstaller`,未安装则提供「一键安装」
- [x] 识别 系统解释器/venv/Poetry/conda 等
- [ ] 右键菜单,可以将现有的环境 pin固定并保存到缓存文件中后续启动时自动加载
- [ ] 用户自定义选项输入框
- [ ] 允许用户自行输入选项,添加到选项列表中
- [x] 命令浏览器
- [x] 显示将传递给 PyInstaller 的选项列表
- [x] 高亮提示
- [x] 以终端命令格式显示完整命令,并添加续行符
- [ ] 导出为脚本功能,根据运行时平台导出 bash、PowerShell 等格式脚本
- [x] ToolTip 提示,对应 PyInstaller 文档,提供完整帮助信息
- [x] `PyInstaller` 选项参数详解表格(界面细节待优化)
- [x] 主窗口状态栏显示软件版本
- [ ] 「一键调试」模式,自动选择 `--onedir``--console``--debug` 等利于调试的选项
- [ ] 用户设置窗口:若干个选项卡
- [ ] PyInstaller 选项
- [ ] 导入/导出选项
- [ ] 插件(比如 Pillow 是否已安装)
## 打包
- [x] 选项参数获取
- [x] 将参数拼接成完整调用命令
- [x] 参数预览器控件
- [x] 使用枚举值控制参数
- [x] 优化拼接代码
- [x] 调用 `PyInstaller` 子进程
- [x] 使用 `QProcess` 替代 `subprocess` 以解决界面卡死问题
- [x] 优化子进程相关代码,增强异常处理
- [ ] 打包任务
- [x] 创建打包任务,保存所有选项
- [ ] 导出打包任务json 或 yaml 格式与加载打包任务与Auto-py-to-exe兼容
- [ ] [创建 `.spec` 文件](https://pyinstaller.org/en/stable/man/pyi-makespec.html)
- [ ] 创建新的虚拟环境
- [ ] 已识别系统解释器(或其他可用解释器)的前提下,提供创建新的 venv 虚拟环境功能
- [ ] 识别 `requirements.txt`,如找到,以此为依据安装第三方包
- [ ] 如未找到有效的需求文件,则使用 [pipreqs](https://github.com/bndr/pipreqs) 分析生成
## 界面
- [x] 实现跨平台功能
- [x] 获取当前运行平台,保存至全局变量中
- [x] 定制各平台特有功能
- [x] 使用 `qrc` 管理静态资源
- [ ] 翻译与国际化
- [ ] Qt 提供的界面文本自动翻译
- [x] 自实现的不同语言下功能差异如“打开PyInstaller文档”指向不同的链接等
- [ ] 简洁视图/详细视图 切换
## 用户设置
- [ ] 在用户家目录中创建配置文件夹,用于保存用户设置
- [ ] 设置条目:
- [ ] 是否使用 `--clean` `-y` 选项(默认自动使用)
- [ ] 脚本导出格式(默认与当前平台对应,如 Windows 则为 PowerShell
## 应用程序级
- [x] 解决相对引用与作为包运行问题
- [ ] `logging` 日志记录
- [ ] ~~将用户设置保存到文件中存储~~(暂无用户设置项)
- [ ] (?) 将用户使用过的 Python 环境保存到缓存文件中存储,下次启动时自动加载
## 美化
- [ ] QSS 与美化
- [ ] 动画效果
## 构建与分发
平台:
- [ ] Windows 发行版
- [ ] Linux 发行版
分发方式:
- [x] PyPI
- [x] GitHub Releases
- [ ] Arch Linux AUR
- [ ] Ubuntu PPA
## 可选依赖
- [ ] [Pillow](https://python-pillow.org/)
- [ ] 更精确的图标文件格式识别
- [ ] 自动将其他格式转换为平台对应的图标格式