小工具
安装和开发 Cool Request 小工具。
小工具是 Cool Request 中额外可选择安装的扩展能力。它可以是一个编码辅助面板、数据转换工具、格式化工具、生成器,或任何适合放在 IDE 内使用的研发辅助功能。
除了安装已有小工具,用户也可以自行开发小工具。小工具基于 Java/Kotlin 与 Swing 实现,最终打包成 .jar 文件后,即可安装到 Cool Request 中使用。
模板项目
可以从官方模板开始开发:
cool-request-tools / tool-template
模板目录中的 prompt.txt 是给 AI 使用的提示词。你可以把需求和这个提示词一起交给 AI,让 AI 基于模板生成小工具代码,再按本文流程打包安装。
开发前需要了解
- Java 或 Kotlin 语言。
- Swing UI 开发。
- Gradle 构建工具。
- JDK 推荐使用
11。如果 JDK 版本过高,打包后的小工具可能无法被 Cool Request 正常加载。
提示
小工具本质上是一个 Swing 面板扩展。Cool Request 会通过约定的配置文件找到入口类,再加载入口类返回的面板内容。
开发所需依赖
开发小工具需要引入 Cool Request 提供的工具依赖 coolrequest-tool.jar。
下载依赖后,将 coolrequest-tool.jar 放到项目中,例如:
D:\project\java\coolrequest-tool\coolrequest-tool.jar后续在 build.gradle.kts 中通过 implementation(files(...)) 引入该依赖。
开发步骤
1. 创建项目
创建一个 Java 或 Kotlin 项目,推荐使用 Gradle 作为构建工具。JDK 版本推荐选择 11。
项目结构可以按下面方式组织:
your-tool
├─ build.gradle.kts
├─ src
│ └─ main
│ ├─ java
│ │ └─ com
│ │ └─ test
│ │ └─ ToolFactory.java
│ └─ resources
│ ├─ coolrequest.tool
│ ├─ logo.svg
│ └─ tool.name2. 修改 Gradle 配置
打开 build.gradle.kts,增加如下配置:
plugins {
kotlin("jvm") version "1.9.23"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(kotlin("test"))
// 引入下载的 Cool Request 小工具开发依赖
implementation(files("D:\\project\\java\\coolrequest-tool\\coolrequest-tool.jar"))
}
// 将第三方依赖和当前项目一起打包进 jar
tasks.withType<Jar> {
from({
configurations.runtimeClasspath.get()
.filter { it.name.endsWith("jar") }
.map { zipTree(it) }
})
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(11)
}如果你的依赖文件不在示例路径下,需要把 implementation(files(...)) 中的路径改成实际位置。
3. 编写主入口
小工具入口类需要实现 ToolPanelFactory。Cool Request 加载小工具时,会调用 createToolPanel() 获取小工具面板。
示例代码:
package com.test;
import dev.coolrequest.tool.CoolToolPanel;
import dev.coolrequest.tool.ToolPanelFactory;
import javax.swing.*;
import java.awt.*;
public class ToolFactory implements ToolPanelFactory {
@Override
public CoolToolPanel createToolPanel() {
return new CoolToolPanel() {
@Override
public JPanel createPanel() {
return new MainPanel();
}
@Override
public void showTool() {
}
@Override
public void closeTool() {
}
};
}
public static class MainPanel extends JPanel {
public MainPanel() {
setLayout(new BorderLayout());
add(new JLabel("Hello Cool Request", SwingConstants.CENTER), BorderLayout.CENTER);
}
}
}其中:
createPanel():返回小工具真正展示的 Swing 面板。showTool():小工具被打开时触发,可用于刷新数据或初始化状态。closeTool():小工具被关闭时触发,可用于释放资源。
4. 增加配置文件
在 src/main/resources 目录下创建三个文件:
coolrequest.tool
logo.svg
tool.namecoolrequest.tool
保存实现 ToolPanelFactory 的类全限定名,用于告诉 Cool Request 从哪个类加载小工具内容。
例如:
com.test.ToolFactorylogo.svg
小工具图标,只能使用 SVG 格式。建议尺寸为 48x48。
tool.name
小工具名称,会展示在 Cool Request 的小工具列表中。
例如:
Hello Tool5. 打包项目
打开 Gradle 控制面板,执行 jar 任务。
打包完成后,生成的 .jar 文件通常位于:
build/libs将该 .jar 文件安装到 Cool Request 中,即可使用你开发的小工具。
使用 AI 开发小工具
如果希望通过 AI 辅助开发,可以按下面方式准备信息:
- 打开模板项目中的
prompt.txt。 - 告诉 AI 你要开发的小工具功能,例如“JSON 转 Java Bean”“Base64 编解码”“时间戳转换”等。
- 要求 AI 基于模板生成 Swing 面板和
ToolPanelFactory入口类。 - 检查生成代码中的包名、入口类名和
coolrequest.tool是否一致。 - 使用 Gradle 执行
jar任务打包。