如何从protoc中获取内部表示?

时间:2016-06-09 15:50:51

标签: protocol-buffers

我想从我的.proto定义生成ReST文档。我知道我可以通过为protoc编写一个C ++插件来做到这一点,但这对我目前的情况来说太耗时了。有没有办法使protoc输出成为定义的解析表示,其中仍包含注释?

我使用protobuf 3。

1 个答案:

答案 0 :(得分:1)

插件不需要在C ++中实现 - 它们可以使用任何语言。 plugin是一个程序,它在标准输入上读取CodeGeneratorRequest,然后将CodeGeneratorResponse写入标准输出。

或者,您也可以使用protoc --include_source_info --descriptor_set_out=FILENAME生成FileDescriptorSet。但请注意,这包含的信息少于CodeGeneratorRequest

有关评论的信息可在FileDescriptorProto.source_code_info中找到,其类型为SourceCodeInfo。 (请注意,除非您还使用--descriptor_set_out,否则--include_source_info会删除此信息。)