Skip to content

Latest commit

 

History

History
103 lines (67 loc) · 3.08 KB

File metadata and controls

103 lines (67 loc) · 3.08 KB

Release v0.2.0

发布日期: 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 接口

工具可以实现 ConfigurableTool 接口来自描述配置:

type ConfigurableTool interface {
    Tool
    Config() ToolConfig
}

VSCode 扩展会通过 devgen config --json 自动获取注解元数据,无需手动编写配置文件。

devgen config 命令

新增 devgen config 命令,用于输出所有工具(内置 + 插件)的配置:

devgen config --json    # JSON 格式输出
devgen config           # TOML 格式输出

genkit 改进

  • 新增 genkit/config.go:提供 ToolConfigAnnotationConfig 等配置结构
  • 新增 genkit/plugin.go:插件加载和管理逻辑
  • 自动推断 paramType:当注解配置有 Values 但没有显式设置 Type 时,自动推断为 "enum" 类型

enumgen & validategen

内置工具现在实现 ConfigurableTool 接口,自动暴露注解配置:

  • enumgen:暴露 @enum@name 注解配置
  • validategen:暴露所有 27 个验证注解配置

vscode-devgen 改进

  • 新增 config-loader.ts:动态配置加载器
  • 新增 devgen.executablePath 配置项,支持自定义 devgen 可执行文件路径
  • 配置完全通过 devgen config --json 获取,移除对 tools-config.json 的依赖
  • 移除外部依赖 smol-toml,避免打包问题
  • 移除扩展激活时自动显示输出面板的行为

移除

vscgen 工具

移除 cmd/vscgen 工具,不再需要手动生成 VSCode 配置文件。

内置 devgen.toml

移除 cmd/enumgen/devgen.tomlcmd/validategen/devgen.toml,配置现在通过 ConfigurableTool 接口自动提供。

文档

  • 新增 插件开发文档(中英文)
  • 新增 插件示例(包含 source 和 plugin 两种类型)
  • 同步所有英文版 README 文件与中文版内容
  • enumgen/validategen README_EN.md 添加完整的基准测试部分
  • vscode-devgen README 更新工作原理和注意事项部分

升级指南

从 v0.1.x 升级

  1. 重新安装 devgen

    go install github.com/tlipoca9/devgen/cmd/devgen@v0.2.0
  2. VSCode 扩展:更新到最新版本,扩展会自动通过 CLI 获取配置

  3. 自定义工具:如果你有自定义的代码生成工具,可以实现 ConfigurableTool 接口来集成到 VSCode 扩展