这是一个 VSCode 插件,用于快速生成 Kratos 框架的 proto 文件和配置文件。
- 生成 Proto 客户端代码
- 生成 Service 服务端代码
- 生成配置文件
- 执行 wire 命令
- Go 接口和结构体跳转:智能识别接口与实现的关系,支持双向跳转
- VSCode 1.80.0 或更高版本
- 已安装 Kratos CLI 工具
- 已安装 wire 工具
- 克隆此仓库
- 运行
npm install
安装依赖 - 按 F5 启动调试模式
- 在新打开的 VSCode 窗口中测试插件
- 在 VSCode 中打开包含 proto 文件的项目
- 在文件浏览器中找到任意
.proto
文件(不包括conf.proto
) - 右键点击文件,您将看到两个选项:
- "生成 Proto 客户端" - 生成 proto 客户端代码
- "生成 Service 服务端" - 生成 service 服务端代码
- 选择需要的选项,等待命令执行完成
- 在 VSCode 中打开包含
conf.proto
文件的项目 - 在文件浏览器中找到
conf.proto
文件 - 右键点击文件,选择 "生成配置文件"
- 等待
make config
命令执行完成
- 在 VSCode 中打开项目
- 在文件浏览器中找到
cmd
目录下的任意子目录 - 右键点击目录,选择 "执行 wire"
- 等待 wire 命令执行完成
这个功能可以帮助您在 Go 代码中快速在接口和实现之间跳转,提高开发效率。
- 智能识别:自动识别接口与结构体的实现关系
- 双向跳转:支持从接口跳转到实现,从实现跳转到接口
- 方法级跳转:精确到具体方法的跳转
- 多实现支持:一个接口多个实现时显示选择列表
- 实时更新:监听文件变化,自动更新跳转关系
-
在接口方法上:
- 代码上方会显示
$(arrow-right) 跳转到实现
或$(arrow-right) N 个实现
- 点击即可跳转到对应的结构体方法实现
- 多个实现时会显示选择列表
- 代码上方会显示
-
在结构体方法上:
- 代码上方会显示
$(arrow-left) 跳转到接口
或$(arrow-left) N 个接口
- 点击即可跳转到对应的接口方法定义
- 代码上方会显示
-
右键菜单:
- 在方法名上右键选择"转到定义"也可以实现跳转
在 VS Code 设置中可以配置以下选项:
kratosProtoGenerator.enableGoJump
:启用/禁用 Go 跳转功能(默认:true)kratosProtoGenerator.goJumpCacheSize
:缓存大小限制(默认:1000)
参考 samples/go_jump_sample.go
文件查看完整的使用示例。
- 确保已正确安装 Kratos CLI 工具
- 生成 Proto 和 Service 代码时,确保 proto 文件不是
conf.proto
- 生成配置文件时,确保项目根目录下有
Makefile
且包含config
目标 - 执行 wire 命令时,确保已安装 wire 工具
- 确保有足够的权限执行命令
生成 Proto 客户端
: 在 proto 文件所在目录执行kratos proto client
命令生成 Service 服务端
: 在项目根目录执行kratos proto server
命令,生成的文件保存在internal/service
目录生成配置文件
: 在项目根目录执行make config
命令生成配置文件执行 wire
: 在选中的 cmd 子目录下执行wire
命令