批量代码注释生成工具:让ChatGPT自动为你的代码添加注释
·
批量代码注释生成工具:让ChatGPT自动为你的代码添加注释
背景需求
作为开发者,我们经常会遇到以下痛点:
- 接手遗留项目时,面对大量无注释的代码头疼不已
- 开发任务紧,没时间仔细阅读理解代码
- 代码可读性差,缺少必要注释
- 对复杂代码理解能力有限
- 不想花钱购买ChatGPT会员,但又想利用AI来生成代码注释
手动复制粘贴代码到ChatGPT来生成注释的方式效率太低,因此开发了这个批量代码注释生成工具。
工具截图

坐标作用说明
屏幕坐标定位工具链接:https://zhangweixi.cc/static/windows-xy.html 感谢开源大佬支持
这些坐标是用于模拟用户在ChatGPT网页界面上的操作,每个坐标对应页面上的特定元素:
-
GPT输入框位置 (977, 982)
- 作用:定位ChatGPT的文本输入框
- 用途:自动点击输入框并粘贴代码
- 位置:通常在页面最底部中间位置
-
重新生成按钮位置 (1088, 900)
- 作用:当生成结果不理想时,点击重新生成
- 用途:自动重试生成注释
- 位置:通常在对话框下方偏右位置
-
关闭提示按钮位置 (1495, 862)
- 作用:关闭可能出现的提示框
- 用途:处理各种弹出提示,保证自动化流程
- 位置:通常在提示框右上角
-
滚动区域位置 (1725, 780)
- 作用:用于滚动页面查看完整内容
- 用途:确保能看到所有生成的代码
- 位置:页面右侧滚动条区域
-
备用复制按钮位置 (1522, 837)
- 作用:当主要复制按钮无法使用时的备选位置
- 用途:确保能够复制生成的代码
- 位置:代码块右上角的复制按钮
坐标配置示意图
+----------------------------------------------------------------------------------------+
| ChatGPT界面 |
| |
| +----------------+ |
| | 对话内容 | |
| | | 备用复制按钮 (1522, 837) |
| | | ● |
| | | |
| | | 关闭提示按钮 (1495, 862) |
| | | ● |
| | | |
| | | 滚动区域 |
| | | (1725, 780) |
| | | ● |
| | | |
| +----------------+ |
| |
| 重新生成按钮 (1088, 900) |
| ● |
| |
| GPT输入框 (977, 982) |
| ● |
+----------------------------------------------------------------------------------------+
注意事项
- 屏幕分辨率
○ 坐标值与屏幕分辨率相关
○ 默认配置基于1920x1080分辨率
○ 不同分辨率需要重新配置 - 浏览器缩放
○ 保持浏览器缩放比例为100%
○ 缩放会影响坐标准确性
实现方案
该工具主要通过以下步骤实现自动化注释生成:
-
文件处理:
- 扫描指定目录下的代码文件
- 自动读取文件内容并复制到剪贴板
-
自动化操作:
- 模拟用户操作,将代码发送给ChatGPT
- 通过图像识别监测页面状态变化
- 自动复制ChatGPT生成的带注释代码
-
结果处理:
- 将带注释的代码写回原文件
- 保存处理进度,支持断点续传
-
安全验证:
- 对比处理前后的代码,确保代码逻辑未被破坏
- 发现问题自动回滚到原始文件
核心代码演示
下面展示几个关键功能的实现:
- 文件处理核心代码:
def process_file(file_path, folder_path):
try:
# 读取文件内容
with open(file_path, 'r', encoding='utf-8') as file:
file_content = file.read()
# 复制到剪贴板
send_content = COMMENT_PROMPT + file_content
pyperclip.copy(send_content)
# 模拟用户操作发送到ChatGPT
input_pos = get_screen_position(*SCREEN_COORDINATES['input_box'])
pyautogui.click(input_pos[0], input_pos[1])
pyautogui.hotkey('ctrl', 'v')
pyautogui.press('enter')
# 等待处理完成
wait_for_completion()
# 获取处理结果并写回文件
new_content = pyperclip.paste()
write_content_to_file(file_path, new_content)
except Exception as e:
log_error(f"处理文件时发生错误: {e}")
- 图像识别监测代码:
def wait_for_completion():
while True:
try:
# 检测是否还在执行
executing = pyautogui.locateOnScreen(
recognizeLocation_executing,
confidence=0.95
)
if not executing:
break
time.sleep(1)
except Exception:
break
- 代码验证核心代码:
def verify_file(original_file, modified_file):
# 移除注释后对比代码
original_content = remove_comments(read_file(original_file))
modified_content = remove_comments(read_file(modified_file))
# 计算相似度
similarity = calculate_similarity(original_content, modified_content)
# 相似度过低则还原
if similarity < 0.95:
restore_original_file(original_file, modified_file)
return False
return True
使用方法
- 安装依赖:
pip install -r requirements.txt
- 启动程序:
python comment_generator_gui.py
- 在GUI界面中:
- 选择要处理的代码文件夹
- 设置文件类型(如.java,.py等)
- 配置提示文本
- 点击"开始运行"
扩展建议
-
支持更多语言:
- 可以添加更多编程语言的注释规则
- 支持不同语言的特定注释风格
-
智能化提升:
- 添加代码分析功能,生成更精准的注释
- 支持多种AI模型,不局限于ChatGPT
-
批处理优化:
- 添加多线程支持,提高处理效率
- 实现任务队列,支持更大规模的代码处理
-
界面优化:
- 添加处理进度显示
- 支持更多自定义配置
- 添加处理结果预览
总结
这个工具很好地解决了批量生成代码注释的需求,通过自动化操作大大提高了效率。虽然目前还有一些限制,但通过持续改进和扩展,相信能够帮助更多开发者提高代码可读性。
更多推荐



所有评论(0)