这是一个基于 Python 和 Tkinter 的桌面应用程序,旨在帮助开发者快速、方便地将项目中的多个代码文件合并到一个文件中。聚合后的文件包含了清晰的文件结构树和所有指定文件的源代码,非常适合用于代码审查、项目归档或提交给大型语言模型进行分析。
- 图形用户界面 (GUI): 提供一个直观易用的界面,所有操作都可通过点击完成。
- 灵活的文件搜索:
- 支持按预设的文件扩展名(如 .py, .js, .html)进行筛选。
- 支持自定义添加其他文件类型(如 .toml, .csv)。
- 强大的忽略规则:
- 按名称忽略: 可以忽略常见的文件夹和文件,如 venv, __pycache__, node_modules, .git 等。
- 按完整路径忽略: 支持通过文件浏览器添加特定的文件夹或文件,实现精确忽略。
- 自动生成文件树: 在输出文件的顶部,会自动生成一个清晰的目录结构树,展示所有被聚合文件的位置。
- 多种输出格式: 支持将结果保存为 .txt 或 .md (Markdown) 格式。Markdown 格式会为每个文件代码块添加对应的语言标识,以实现语法高亮。
- 配置持久化:
- 自动保存用户的设置(如选择的目录、文件类型、忽略列表等)到 code_aggregator_config.json 文件中。
- 启动时自动加载上次的配置,无需重复设置。
- 智能处理:
- 自动重命名: 如果输出文件已存在,程序会自动在文件名后添加序号(如 code_summary (1).md),避免覆盖现有文件。
- 多线程执行: 核心的文件搜索和写入操作在独立的线程中运行,防止在处理大型项目时界面卡死。
- 实时反馈:
- 日志窗口: 实时显示程序的运行状态、找到的文件、发生的错误等信息。
- 进度条: 直观地展示文件聚合的进度。
- 运行程序:
- 确保你的电脑上安装了 Python 环境。
- 直接运行 code_aggregator_gui.py 脚本。
- 配置界面:
- 1. 选择根目录: 点击“浏览...”选择你想要聚合代码的项目文件夹。
- 2. 选择文件类型:
- 勾选常见的文件类型。
- 在“其他类型”输入框中,可以添加额外的文件后缀名,用逗号分隔(例如: .json,.xml)。
- 3. 设置忽略项:
- 勾选默认的忽略项(如 venv, .git)。
- 点击“添加文件夹”或“添加文件”来指定需要精确忽略的路径。
- 选中列表中的项,点击“移除选中项”来删除。
- 4. 输出设置:
- 输出目录: 选择聚合后文件的保存位置(默认为程序所在目录)。
- 文件名: 设置输出文件的名称(默认为 code_summary)。
- 格式: 选择输出格式为 .md 或 .txt。
- 保存配置: 可以手动点击“保存当前配置”按钮。程序退出时也会自动保存。
- 5. 执行与日志:
- 点击“开始聚合”按钮启动任务。
- 下方的日志区域会显示详细的操作过程。
- 任务完成后,会弹出提示框,并询问是否立即打开生成的文件。
程序会在其所在目录下创建一个 code_aggregator_config.json 文件。这个文件用 JSON 格式存储了你在界面上的所有设置。你可以手动编辑它,但更推荐通过图形界面来修改配置。
该工具仅使用 Python 标准库,无需安装任何第三方依赖。
- tkinter
- os
- sys
- json
- threading
- queue
希望这份文档能帮助您更好地理解和使用这个工具!