使用GoLand基于grpc proto方法生成server.go

Generate server.go base on grpc proto method with GoLand

GoLand 中是否有一些功能或插件可以根据 proto rpc 方法生成 server/server.go 方法?

例如我们有 some.proto:

...
rpc AnyMetod (AnyRequest) return (AnyResponse)
...

我想生成:

func (s *Server) AnyMethod(ctx context.Context, req *AnyRequest) (*AnyResponse, error) {
    return &AnyResponse{}
}

目前我不知道有任何此类插件或功能可用。

如果你想开发自己的插件,可以先阅读我们的SDK documentation

作为替代方案,我认为您可以使用 Live Templates 功能来实现与此非常相似的功能,内容如下例所示,并定义可用于 "Go | File" 上下文:

func (s *$VAR4$) $VAR0$(ctx context.Context, req *$VAR1$) (*$VAR2$, error) {
    return &$VAR2${}
}