发布日期: 2025-12-07
v0.2.0 是一个重大更新,引入了插件系统,允许用户使用 genkit 框架开发自定义代码生成工具。同时移除了 vscgen 工具,VSCode 扩展现在通过 devgen config --json 动态获取配置。
新增完整的插件系统,支持两种插件类型:
| 类型 | 说明 | 适用场景 |
|---|---|---|
source |
Go 源码,运行时编译 | 推荐,开发调试方便 |
plugin |
预编译 Go plugin (.so) | 需要最高性能的场景 |
配置示例 (devgen.toml):
[[plugins]]
name = "markgen"
path = "./plugin-source"
type = "source"工具可以实现 ConfigurableTool 接口来自描述配置:
type ConfigurableTool interface {
Tool
Config() ToolConfig
}VSCode 扩展会通过 devgen config --json 自动获取注解元数据,无需手动编写配置文件。
新增 devgen config 命令,用于输出所有工具(内置 + 插件)的配置:
devgen config --json # JSON 格式输出
devgen config # TOML 格式输出- 新增
genkit/config.go:提供ToolConfig、AnnotationConfig等配置结构 - 新增
genkit/plugin.go:插件加载和管理逻辑 - 自动推断
paramType:当注解配置有Values但没有显式设置Type时,自动推断为"enum"类型
内置工具现在实现 ConfigurableTool 接口,自动暴露注解配置:
enumgen:暴露@enum、@name注解配置validategen:暴露所有 27 个验证注解配置
- 新增
config-loader.ts:动态配置加载器 - 新增
devgen.executablePath配置项,支持自定义 devgen 可执行文件路径 - 配置完全通过
devgen config --json获取,移除对tools-config.json的依赖 - 移除外部依赖
smol-toml,避免打包问题 - 移除扩展激活时自动显示输出面板的行为
移除 cmd/vscgen 工具,不再需要手动生成 VSCode 配置文件。
移除 cmd/enumgen/devgen.toml 和 cmd/validategen/devgen.toml,配置现在通过 ConfigurableTool 接口自动提供。
- 新增 插件开发文档(中英文)
- 新增 插件示例(包含 source 和 plugin 两种类型)
- 同步所有英文版 README 文件与中文版内容
- enumgen/validategen README_EN.md 添加完整的基准测试部分
- vscode-devgen README 更新工作原理和注意事项部分
-
重新安装 devgen:
go install github.com/tlipoca9/devgen/cmd/devgen@v0.2.0
-
VSCode 扩展:更新到最新版本,扩展会自动通过 CLI 获取配置
-
自定义工具:如果你有自定义的代码生成工具,可以实现
ConfigurableTool接口来集成到 VSCode 扩展