dart - 将 'library' 指令添加到使用 protoc 生成的 dart 代码中
问题描述
有人能告诉我如何让 protoc 使用领先的库指令生成 dart 文件吗?
我正在使用 dart-protoc-plugin (v0.10.2) 从 proto 文件生成我的 dart、c++、c#、js 和 java 模型。我的印象是没有办法让 protoc 将“库”指令添加到生成的 dart 文件中,直到我注意到该指令出现在另一个项目中(参见date.pb.dart)。
如果我采用相同的文件(date.proto),我无法让 protoc 生成包含“库”指令的 dart 文件。
简而言之:我想取一个 .proto 文件,内容如下
syntax = "proto3";
package another.proj.nspace;
message MyObj {
...
}
并生成一个带有类似于以下代码段的前导“库”指令的 .dart 文件
///
// Generated code. Do not modify.
///
// ignore_for_file: non_constant_identifier_names,library_prefixes
library another.proj.nspace;
...
注意:我不关心指令的实际值,因为我可以重组我的代码以获得所需的结果。我只需要一种方法让protoc添加库指令......
我用来生成飞镖文件的基本命令是
protoc --proto_path=./ --dart_out="./" ./another/proj/nspace/date.proto
不幸的是,dart-protoc-plugin 的README不是很有帮助,我不得不通过源代码找出可用的选项;目前似乎唯一特定于 dart 的选项与 grpc 有关。
我尝试了其他语言的选项(例如“库”和“基本路径”),但没有任何成功。
如果可能的话,它将大大简化我的工作流程,但我开始觉得date.pb.dart中的库指令是在生成代码之后添加的......
解决方案
在询问了一下之后,似乎library指令在某个阶段从 protoc 插件中删除了(请参阅 pull request),因此不再支持它。
推荐阅读
- python - 如何在 Python 请求模块中使用 cookie?
- php - 如何使用 laravel 连接到 Amazon Keyspaces (Cassandra)?
- visual-studio-code - 如何将函数连接到 VS Code Webview?
- spring - Spring JPQL 无法比较 java LocalDateTime - 返回空列表
- java - 如何在 Java 中的数组中收集用户输入,然后使用类打印出来
- app-lab - 设置 AppLab 鼠标坐标
- javascript - 有要求的赠品机器人(消息计数器、角色、语音聊天时间计数器)
- augmented-reality - 找不到 A 帧 gltf
- data-structures - 什么是 count-min 草图?你会在什么时候使用它?
- python - 程序找不到下一个按钮