新鲜出炉~
今早简单修了一个 bug ,push 了一个 tag 就立刻拿起好久没用的账号来更新发一篇文章推广一下自己写的工具,不过这个工具以后会用一个界面更好的框架重构一下,但现在实用就行
📝 简介
AI Code Context Helper 为所有需要理解、学习和开发代码的人设计。通过可视化的项目结构展示和一键代码导出功能,无论是编程初学者、职业开发者还是教育工作者,无论是学习理解代码、开发新功能,还是寻求代码改进建议,它都能帮助你轻松提取代码上下文,与 AI 助手高效交流。

🎯 主要应用场景
本工具让你可以轻松将代码内容传递给 AI 助手,实现以下场景:
- 代码学习: 理解复杂项目结构和工作原理,提高学习效率
- 开发辅助: 获取更准确的代码修改和功能实现建议
- 代码审查: 进行自动化质量检查和性能优化分析
- 重构指导: 基于完整上下文的代码改进建议
- 问题诊断: 通过提供完整环境帮助 AI 更准确地定位问题
软件在本地运行,不需要联网,不会上传任何代码,确保你的代码隐私安全。你可以自由选择使用哪种 AI 服务,完全由你控制代码分享范围
💡 核心使用场景
1. 代码学习与分析
- 选择目标项目目录:打开你想分析的项目
- 复制完整项目结构:使用"复制目录树"功能,让 AI 先了解整体架构
- 提供核心代码文件:选择关键文件,使用"复制路径与代码"一次性提供所有代码
- 询问 AI 分析:请求 AI 分析代码结构、解释工作原理或提供学习路径
2. 代码修改与开发
- 定位需要修改的模块:通过可视化树形结构找到相关文件
- 导出相关代码上下文:同时选择相关的多个文件(如模型、控制器和视图)
- 描述修改需求:向 AI 清晰描述你想实现的功能或修复的问题
- 获取完整实现方案:AI 会基于完整上下文提供准确的代码修改建议
✨ 主要特性
智能文件管理
- 目录树可视化:树形视图显示项目文件结构
- 文件统计信息:自动显示文件行数和大小,便于评估代码量
- 文件类型识别:自动检测文本文件编码,区分文本与二进制文件
- 高级筛选:支持正则表达式过滤、.gitignore 规则应用和目录深度限制,便于处理大型项目
灵活选择与导出
- 多选支持:可选择单个文件、多个文件或整个目录及其子目录
- 鼠标框选模式:通过拖动鼠标一次性选择/取消选择多个文件
- 批量导出:支持导出选中内容的路径、代码或两者兼有
- 上下文菜单:提供多种复制选项,适用于不同开发场景
- 复制内容统计:状态栏显示操作涉及的文件数量和总行数
集成与便捷
- 系统托盘集成:最小化到系统托盘,随时可用但不占用桌面空间
- 全局热键:在任何应用中按下 Ctrl+2 快捷键即可显示/隐藏应用窗口
- 窗口置顶选项:使窗口保持在其他应用之上,便于操作
- 文件系统集成:直接从上下文菜单在资源管理器中打开文件夹或启动命令行终端
- 自动保存机制:每 30 秒自动保存设置,防止配置丢失
定制化与易用性
- 多语言支持:支持中英文切换
- 输出格式定制:可配置代码和路径的前缀后缀格式
- 高级选项切换:可隐藏/显示高级设置,最大化目录树显示空间
- 轻量实现:低资源占用,启动迅速,无缝融入现有开发工作流
🔑 快捷键
- Ctrl+C:复制选中文件的路径和代码
- Ctrl+B:复制选中文件的文件名
- Ctrl+F:在资源管理器中打开选中文件夹
- Ctrl+T:在选中文件夹中打开命令行终端
- Ctrl+2:全局热键,从任何地方显示/隐藏应用程序
- 树状态保持:应用程序会在会话之间记住每个项目目录的展开状态
🔧 安装与使用
下载安装
- 从Releases 页面下载最新版本
- 解压缩下载的文件到任意位置
- 运行
AI Code Context Helper.exe
启动应用
使用方法
- 点击"浏览..."按钮选择项目根目录
- 在目录树中勾选需要分享的文件或文件夹
- 右键点击选择"复制路径与代码"(或使用其他复制选项)
- 将复制的内容粘贴到 AI 助手(如 ChatGPT、Claude 等)对话中
- 根据复制的代码上下文,向 AI 提问或请求代码修改建议
🛠️ 从源码构建
环境要求
- Python 3.9+
- Poetry 包管理工具
安装依赖
bash
git clone https://github.com/sansan0/ai-code-context-helper.git
cd ai-code-context-helper
poetry install
构建可执行文件
bash
poetry run python -m cx_Freeze build
完整的更新日志
v1.2.1 - 2025-06-06
修复
- 窗口打开卡顿跳动问题
v1.2.0 - 2025-05-31
新增功能
- 文件统计信息 - 在目录树中显示文件行数和大小信息,方便评估代码量和文件体积
- 复制内容行数统计 - 在状态栏显示复制内容的总行数,便于了解操作规模
- 自动保存机制 - 确保配置不会意外丢失,防止设置文件在保存过程中损坏
- 改进的.gitignore 处理 - 优化缓存机制
v1.1.0 - 2025-05-17
架构优化
- 模块化重构:将代码按功能拆分为独立模块,提高可维护性和可扩展性
- 配置集中化:新增 config.py 集中管理所有配置常量
- 高级状态管理:改进目录树状态保持逻辑,更稳定的展开状态记忆
新增功能
- 系统托盘支持:最小化到系统托盘,减少工作区占用
- 全局热键:Ctrl+2 快捷键可在任何应用中快速显示/隐藏窗口
- 窗口置顶:可选择保持窗口始终置顶
- 鼠标框选模式:通过拖动鼠标批量选择文件
- .gitignore 支持:根据项目.gitignore 规则过滤文件,避免显示临时文件和构建产物
- 右键菜单增强 :
- 在文件资源管理器中打开选中文件夹 (Ctrl+F)
- 在选中文件夹中打开命令行终端 (Ctrl+T)
- 主要操作改进 :
- 分离"重置树"(只保留根节点展开)和"更新树"(保留当前展开状态)功能
- 保存和恢复每个项目的精确展开状态
- 界面优化 :
- 隐藏/显示高级选项,增加目录树显示空间
- 重新设计的状态栏,提供更清晰的操作反馈
技术改进
- 多线程支持:使用独立线程处理系统托盘和热键监听
- 智能路径处理:改进.gitignore 解析和路径匹配算法
- 性能优化:提高大型目录处理速度和内存使用效率
v1.0.0 - 2025-05-07
初始版本发布
- 用户友好的图形界面,基于 Tkinter 开发,支持 Windows 平台
实现基本功能
- 目录树可视化:直观展示项目结构,支持展开/折叠操作
- 目录树导出:可将树状结构导出为文本文件或复制到剪贴板
- 文件筛选系统 :
- 支持正则表达式过滤文件名
- 可控制是否显示隐藏文件/文件夹
- 可设置目录树最大深度
- 多种复制模式 :
- 复制文件路径(支持相对路径或绝对路径)
- 复制文件代码内容
- 复制文件名
- 同时复制路径与代码内容
- 内容格式化:可自定义路径和代码的前缀/后缀
- 智能编码检测:自动识别和处理各种文本编码,尤其中文编码
- 设置持久化:自动保存用户偏好设置
- 路径历史记录:记住最近使用的目录路径
添加多语言支持
- 支持简体中文和英文界面
- 语言设置被保存并在重启应用后自动应用