Skip to content

Commit 5d5732c

Browse files
committed
feat(settings): add OpenAI connection test functionality and UI enhancements
- Introduced a "Test" button in the settings to validate OpenAI API connection. - Enhanced the UI layout for better organization of OpenAI configuration fields. - Updated the build workflow to retain artifacts for 90 days and added automatic release creation for main/master branches. - Improved README.md to reflect changes and provide clearer usage instructions.
1 parent ea1db5d commit 5d5732c

File tree

4 files changed

+226
-251
lines changed

4 files changed

+226
-251
lines changed

.github/workflows/build-jar.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,30 @@ jobs:
4040
with:
4141
name: jar-files-${{ github.run_number }}
4242
path: build/libs/*.jar
43-
retention-days: 30
43+
retention-days: 90
4444

4545
- name: Upload Plugin ZIP
4646
uses: actions/upload-artifact@v4
4747
with:
4848
name: plugin-zip-${{ github.run_number }}
4949
path: build/distributions/*.zip
50-
retention-days: 30
50+
retention-days: 90
51+
52+
- name: Create Release (for main/master branch)
53+
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
54+
uses: softprops/action-gh-release@v1
55+
with:
56+
tag_name: build-${{ github.run_number }}-${{ github.sha }}
57+
name: Auto Build ${{ github.run_number }}
58+
body: |
59+
自动构建 - 运行号: ${{ github.run_number }}
60+
提交: ${{ github.sha }}
61+
分支: ${{ github.ref_name }}
62+
构建时间: ${{ github.event.head_commit.timestamp }}
63+
files: |
64+
build/distributions/*.zip
65+
build/libs/*.jar
66+
draft: false
67+
prerelease: true
68+
env:
69+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 30 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -1,260 +1,42 @@
1-
# easy_doc 点一下star✨,是对作者最大的支持
2-
# 目前免费的【有道翻译】已被官方禁用,请大家更换别的翻译方式,各大平台都免费
3-
# 最新版IDEA的AI Assistant插件和本插件快捷键冲突了,请修改任一一个。不要再问为啥不生效了。
4-
# 交流Q群:一群733688083(500人上限,已满不加了) 二群897895558
5-
## 介绍
6-
本项目是IntelliJ IDEA的插件,能帮助java\kotlin开发者自动生成javadoc\kdoc文档注释
7-
**支持的IDEA版本为 2019.1 及以上**
1+
![wn62Wy](https://minio.pigx.vip/oss/202505/wn62Wy.png)
82

9-
![示例1](./doc/jpg/k03vffH6Hg.gif)
10-
11-
支持给中文起名字,类似程序员起名神器
12-
![示例2](./doc/jpg/zqT2bjDzc0.gif)
133

14-
- 接入多种翻译,只要你方法名起的好,翻译就越准确
15-
- 可自定义映射,弥补自动翻译的不足
16-
- 支持文档翻译,选中需要翻译的文档,使用快捷键翻译注释,再也不用在词典和IDEA之间来回切换了
4+
# EasyDoc - OpenAI 协议的 Java Doc 生成插件
175

18-
## 安装
19-
打开IntelliJ IDEA -> plugins,java搜索`Easy Javadoc`,安装重启即可
6+
## 简介
207

21-
## 视频教程
22-
- [👉IDEA插件-Easy Javadoc(代码注释)👈](https://www.bilibili.com/video/BV1pB4y147nX),感谢[程序员郑清](https://space.bilibili.com/510086367)同学支持
23-
- [👉IDEA实用的注释插件!Easy javadoc!👈](https://www.bilibili.com/video/BV15M411S7Mw),感谢[Java不良帅](https://space.bilibili.com/1850252013)同学支持
24-
- 结合Fast Request的视频教程,[👉巧妙结合Javadoc,IDEA插件之Fast Request+Easy Javadoc双剑合璧,放大招了👈](https://www.bilibili.com/video/BV1xg41127TF/)
8+
EasyDoc 是一个基于 OpenAI 协议的 Java 文档生成插件,通过接入符合 OpenAI 接口规范的大模型,帮助开发人员快速生成高质量的 Java 文档注释。
259

26-
## 使用
27-
-**一闪一闪的光标**放置到想要生成注释的类、方法或者属性上,然后按下快捷键`ctrl \`或者`command \`,即可生成注释,你的方法名起的越贴切,注释越得体。
28-
-**一闪一闪的光标**放置到想要生成注释的类上,然后按下快捷键`ctrl shift \`或者`command shift \`,即可批量生成文档注释。(Kdoc暂不支持)
29-
- **光标选中**要翻译的中文,然后按下快捷键`ctrl \`或者`command \`,即可自动变成英文,类似程序员起名神器。
30-
- **光标选中**要翻译的非中文,然后按下快捷键`ctrl \`或者`command \`,即弹出选中的翻译结果,再也不用在词典和IDEA之间来回切换了。
31-
- 方法的@return注释样例
32-
- code模式
33-
- `@return {@code User}`
34-
- `@return {@code Map<String, Integer>}`
35-
- link模式
36-
- `@return {@link User}`
37-
- `@return {@link Map}<{@link String}, {@link Integer}>`
10+
## 使用说明
3811

39-
当然,翻译不准的情况很常见,如果是因为单词翻译错误,可以在配置页面对自己的单词进行配置,自定义翻译的优先级大于其他。
12+
1. 在插件设置中配置 OpenAI 接口参数:
13+
- **Base URL**: 填写大模型的 baseURL,**注意最后不要带 `/v1` 或者其他版本号后缀**
14+
- API Key: 填写您的 OpenAI API 密钥
15+
- 模型: 选择使用的模型,如 gpt-3.5-turbo, gpt-4 等
16+
- 温度: 控制生成内容的创造性 (0.0-2.0)
17+
- 其他参数: 根据需要配置
18+
2. 使用方法:
4019

41-
各个翻译每月都有**免费**额度,基本够用了。需要自己申请相关秘钥等
42-
- 百度翻译申请地址:<https://api.fanyi.baidu.com/doc/21>
43-
- 腾讯翻译申请地址:<https://cloud.tencent.com/document/product/551/7372>
44-
- 阿里云翻译申请地址:<https://www.aliyun.com/product/ai/alimt>
45-
- 有道智云翻译申请地址:<https://ai.youdao.com/>
46-
- 微软翻译申请地址:<https://azure.microsoft.com/>
47-
- 谷歌翻译(需要翻墙)申请地址:<https://cloud.google.com/>
20+
- **生成单个注释**:将光标放置到要生成注释的类、方法或属性上,按下快捷键 `Ctrl + \`(Windows/Linux)或 `Command + \`(Mac)。
21+
22+
- **批量生成注释**:将光标放置到要生成注释的类上,按下快捷键 `Ctrl + Shift + \`(Windows/Linux)或 `Command + Shift + \`(Mac),即可为整个类的所有元素批量生成文档注释。(注:KDoc 暂不支持)
23+
24+
- **智能翻译中文为英文**:选中需要翻译的中文文本,按下快捷键 `Ctrl + \`(Windows/Linux)或 `Command + \`(Mac),系统会自动将其翻译为适合编程的英文表达,非常适合命名变量、方法和类。
25+
26+
- **查看非中文翻译**:选中非中文文本,按下快捷键 `Ctrl + \`(Windows/Linux)或 `Command + \`(Mac),系统会弹出翻译结果,无需在IDE和词典之间切换。
4827

49-
## 配置
50-
打开配置页面
51-
![配置图](./doc/jpg/common-config.png)
52-
可看到相关配置
53-
54-
## 默认快捷键(可通过IDEA快捷键设置修改)
55-
### win
56-
|快捷键|作用域|说明|
57-
| --- | --- | --- |
58-
| `ctrl \` | 类、方法、属性(光标放上面就行,不要双击选中!) | 生成当前文档注释 |
59-
| `ctrl \` | **选中的**中文 | 生成选中的中文的英文命名 |
60-
| `ctrl \` | **选中的**非中文 | 弹框展示翻译结果 |
61-
| `ctrl shift \` || 生成全部文档注释 |
62-
63-
### mac
64-
|快捷键|作用域|说明|
65-
| --- | --- | --- |
66-
| `command \` | 类、方法、属性(光标放上面就行,不要双击选中!) | 生成当前文档注释 |
67-
| `command \` | **选中的**中文 | 生成选中的中文的英文命名 |
68-
| `command \` | **选中的**非中文 | 弹框展示翻译结果 |
69-
| `command shift \` || 生成全部文档注释 |
70-
71-
## 常见问题
72-
### 我的字体
73-
#### 系统字体 `Comis Sans MS`
74-
![系统字体](./doc/jpg/settings-font.png)
75-
#### 代码字体 `Monaco`
76-
![代码字体](./doc/jpg/code-font.png)
77-
### 快捷键( `ctrl \` )不生效
78-
检查:
79-
1.**一闪一闪的光标**放到类名、方法名或属性名上试试,注意不是选中,也不是鼠标!!!
80-
2. 检查IDEA的快捷键是否冲突了
81-
### 属性单行注释不生效
82-
这是因为IDEA的默认格式化将单行转成了多行,需要更改IDEA的格式化设置![单行注释](./doc/jpg/oneLine.png)
83-
### 文档标签@param@link或者自定义的顺序不对
84-
这是因为IDEA的默认格式化将文档标签顺序改了,如果非得要自定义的顺序的话,则需要改IDEA如下设置![关闭Javadoc格式化](./doc/jpg/closeJavadocFormat.png)
85-
86-
## 更新履历
87-
- v4.3.1 2024-09-01
88-
- 修复一些格式问题
89-
- v4.3.0 2024-08-18
90-
- 支持自定义url翻译
91-
- v4.2.1 2024-08-09
92-
- 修复一些小bug
93-
- v4.2.0 2024-08-03
94-
- 支持本地内置词典翻译
95-
- v4.1.0 2024-06-02
96-
- 添加谷歌免费翻译
97-
- 支持设置超时时间
98-
- v4.0.2 2024-05-09
99-
- 添加自定义变量projectName
100-
- 删除有道翻译
101-
- v4.0.1 2024-05-08
102-
- 修复某些原因导致的空指针
103-
- v4.0.0 2024-04-29
104-
- 支持智谱清言AI大模型 🎉🎉🎉
105-
- v3.9.0 2024-04-28
106-
- 重构默认模板
107-
- 添加注释强制覆盖模式
108-
- 微软翻译支持设置Ocp-Apim-Subscription-Region
109-
- v3.8.0 2024-03-21
110-
- 支持设置和已有注释的合并模式
111-
- v3.7.1 2024-03-11
112-
- 支持自定义模式下,和已有doc合并
113-
- v3.7.0 2024-02-06
114-
- 当已经有注释的时候,不会生成新注释覆盖掉老的
115-
- 修复中译英在有停用词的情况下,首字母大写的问题
116-
- 支持系统HTTP代理
117-
- v3.6.0 2023-09-14
118-
- 支持微软免费翻译
119-
- v3.5.3 2023-09-13
120-
- 修复阿里云不兼容社区版问题
121-
- v3.5.2 2023-09-08
122-
- 修复阿里云中译英失败问题
123-
- v3.5.1 2023-09-06
124-
- 打印异常日志
125-
- 禁用掉免费有道接口
126-
- v3.5.0 2023-09-02
127-
- 异常支持读取已有类注释
128-
- 返回值支持读取已有类注释
129-
- 修复jdk问题导致的日期格式化结果不一致问题
130-
- v3.4.3 2023-08-09
131-
- 修复默认模板出现空行的问题
132-
- v3.4.2 2023-08-06
133-
- javadoc自定义模式支持结尾添加换行
134-
- 优化选中后的英译中切词翻译
135-
- v3.4.1 2023-07-31
136-
- 规范化displayName命名
137-
- v3.4.0 2023-06-24
138-
- 支持单词分割模式
139-
- 升级IDEA最小支持版本为2019
140-
- 修复package-info.java空指针问题
141-
- 修复多项目时当前分支名变量获取不到的问题
142-
- v3.3.1 2023-05-09
143-
- 修复类全路径问题
144-
- 自定义变量添加当前分支名变量
145-
- 控制弹窗频次,现在为新打开时弹窗
146-
- v3.3.0 2023-04-08
147-
- 支持微软翻译
148-
- 支持谷歌翻译
149-
- v3.2.0 2023-01-17
150-
- 支持有道智云翻译
151-
- v3.1.0 2022-12-24
152-
- 支持项目级单词映射
153-
- v3.0.1 2022-12-17
154-
- 修复kdoc空行问题
155-
- v3.0.0 2022-12-11
156-
- 支持kotlin语言,Kdoc生成
157-
- v2.0.1 2022-11-30
158-
- 修复一些问题
159-
- v2.0.0 2022-11-19
160-
- 重构
161-
- 支持kotlin
162-
- v1.29 2022-11-06
163-
- 优化一些问题
164-
- v1.28 2022-10-15
165-
- 优化导入导出文件(夹)选择界面
166-
- 优化一些问题
167-
- v1.27 2022-09-10
168-
- 支持阿里云翻译
169-
- 支持在方法上自定义see标签
170-
- 修复导入导出功能bug
171-
- 优化一些问题
172-
- v1.26 2022-07-13
173-
- 支持 `package-info.java`
174-
- v1.25 2022-03-18
175-
- 修复自定义方法返回值无法切换@code模式
176-
- v1.24 2022-03-16
177-
- 优化提醒弹出频率
178-
- v1.23 2022-03-13
179-
- 添加logo
180-
- 添加应用启动监听器
181-
- v1.22 2021-12-21
182-
- 记录上次选择的生成所有javadoc的选项
183-
- v1.21 2021-08-07
184-
- 方法的@return支持code和link两种模式
185-
- code模式
186-
- `@return {@code User}`
187-
- `@return {@code Map<String, Integer>}`
188-
- link模式
189-
- `@return {@link User}`
190-
- `@return {@link Map}<{@link String}, {@link Integer}>`
191-
- 优化了访问网络失败的提示
192-
- v1.20 2021-07-11
193-
- 修复了自定义模式下$PARAM$字段\*丢失问题
194-
- v1.19 2021-07-03
195-
- 修复了自定义模式下@return问题
196-
- v1.18 2021-05-31
197-
- 支持整句的自定义映射
198-
- v1.17 2021-05-16
199-
- 支持自定义模式下,注释和方法不覆盖已有值
200-
- v1.16 2020-12-28
201-
- 修复了@throws标签不换行的问题
202-
- v1.15 2020-12-13
203-
- 修复了自定义模板,类、方法、属性不能单独配置的问题
204-
- v1.13 2020-08-29
205-
- 支持百度翻译和腾讯翻译,用户自定义秘钥
206-
- 为翻译添加缓存
207-
- 增加重置和清理缓存按钮
208-
- v1.12 2020-06-20
209-
- 修复了光标位置不对生成文档报空指针的问题
210-
- v1.11 2020-04-09
211-
- 修复了某些情况下自定义翻译失效的问题
212-
- v1.10 2020-02-12
213-
- 添加选中翻译功能
214-
- 修复bug
215-
- v1.9 2019-12-30
216-
- 修复了在windows下的异常
217-
- v1.8 2019-12-14
218-
- 支持配置导入和导出
219-
- 支持更多的IDEA版本
220-
- v1.7 2019-12-11
221-
- return使用短路径
222-
- 修复bug
223-
- v1.6 2019-12-08
224-
- 支持自定义格式文档
225-
- 支持中译英(命名神器)
226-
- 修复bug
227-
- v1.5 2019-11-30
228-
- 兼容问题处理
229-
- 支持更多IDEA版本
230-
- 修复了一些bug
231-
- v1.4 2019-11-25
232-
- 兼容自己的注释
233-
- 支持整句翻译
234-
- 方法支持@throws标签
235-
- 修复bug
236-
- v1.3 2019-11-13
237-
- 支持批量生成文档注释
238-
- 修复bug
239-
- v1.2 2019-10-24
240-
- 修复bug
241-
- v1.1 2019-10-23
242-
- 支持@link@return标签
243-
- 修复bug
244-
- v1.0 2019-09-05
245-
- 第一版发布
246-
247-
## 贡献者
248-
- [@kings1990](https://github.com/kings1990)
249-
- [@mixley](https://github.com/mixley)
250-
- [@kuolemax](https://github.com/kuolemax)
251-
252-
## 支持作者
253-
如果觉得插件很赞,为你节约了不少时间,那么就请作者喝杯咖啡吧~☕☕☕
254-
255-
| ![微信](./doc/jpg/wechat.png) | ![支付宝](./doc/jpg/alipay.jpg) |
256-
|-----------------------------|------------------------------|
28+
3. 使用技巧:
29+
- 方法名和参数起得越贴切,生成的注释质量越高
30+
- 批量注释功能可大大提高文档编写效率
31+
- 翻译功能对于国际化项目和多语言团队协作非常有帮助
25732

33+
## 支持的服务商
25834

35+
- OpenAI 官方接口
36+
- 支持任何兼容 OpenAI 协议的模型服务,如 Azure OpenAI、各种开源模型部署等
25937

38+
## 注意事项
26039

40+
- 确保 Base URL 配置正确,不要包含版本号如 `/v1`
41+
- 请确保网络环境能够正常访问配置的 API 服务
42+
- API Key 请妥善保管,不要泄露给他人

src/main/java/com/star/easydoc/view/settings/CommonSettingsView.form

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,12 +404,20 @@
404404
</component>
405405
<component id="openaiApiKeyTextField" class="javax.swing.JTextField" binding="openaiApiKeyTextField">
406406
<constraints>
407-
<grid row="16" column="1" row-span="1" col-span="4" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
407+
<grid row="16" column="1" row-span="1" col-span="3" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
408408
<preferred-size width="150" height="-1"/>
409409
</grid>
410410
</constraints>
411411
<properties/>
412412
</component>
413+
<component id="openaiTestButton" class="javax.swing.JButton" binding="openaiTestButton">
414+
<constraints>
415+
<grid row="16" column="4" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
416+
</constraints>
417+
<properties>
418+
<text value="测试"/>
419+
</properties>
420+
</component>
413421
<component id="openaiModelLabel" class="javax.swing.JLabel" binding="openaiModelLabel">
414422
<constraints>
415423
<grid row="17" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>

0 commit comments

Comments
 (0)