当前位置: 首页 > 知识库问答 >
问题:

将“库”指令添加到使用协议生成的dart代码中

牟恺
2023-03-14

有人能告诉我如何让protoc生成带前导库指令的dart文件吗?

我正在使用dart-proc-plugin(v0.10.2)从proto文件生成我的dart、c、c#、js和java模型。我的印象是没有办法让proc在生成的dart文件中添加“库”指令,直到我注意到该指令出现在另一个项目中(参见date.pb.dart)。

如果我使用相同的文件(date.proto),我无法让protoc生成包含“library”指令的dart文件。

简言之:我想采取一个。包含以下内容的原型文件

syntax = "proto3";

package another.proj.nspace;

message MyObj {
  ...
}

并生成一个。dart文件的前导“library”指令类似于以下代码

///
//  Generated code. Do not modify.
///
// ignore_for_file: non_constant_identifier_names,library_prefixes
library another.proj.nspace;
...

注意:我不关心指令的实际值,因为我可以重组我的代码以获得所需的结果。我只需要一种方法让协议添加库指令...

我用来生成dart文件的基本命令是

protoc --proto_path=./ --dart_out="./" ./another/proj/nspace/date.proto

不幸的是,dart protoc插件的自述并没有太大帮助,我不得不通过源代码找出可用的选项;目前看来,唯一与dart相关的选项似乎与grpc有关。

我尝试了其他语言的选项(例如“库”和“基础路径”),但没有任何成功。

如果可能的话,这将大大简化我的工作流程,但我开始得到的印象是,date.pb.dart中的库指令是在代码生成后添加的...

共有1个答案

陈泰宁
2023-03-14

在询问了一点之后,似乎在某个阶段从protoc插件中删除了library指令(参见pull-request),因此不再支持它。

 类似资料:
  • 问题内容: 我想创建一个在所有符合此条件的情况下强制执行某种情况的方法。 例如,如果我有一个这样的: 我想用扩展它,增加另一种情况: 这可能吗? 问题答案: 解决方法是使用带有变量的a。 注意:这是在 Swift 3 中完成的 以下是 Swift 3* 的实现 * 结构: 协议 调用中 注意: 请注意,该方法不能替代,仅在编译时不知道值时才使用此方法。

  • 问题内容: 我需要大致了解一下在高性能数字代码中使用Cython可以获得的性能。我感兴趣的一件事是找出优化的C编译器是否可以向量化Cython生成的代码。因此,我决定编写以下小示例: 我知道有Numpy函数可以完成这项工作,但是我想编写一个简单的代码来了解Cython的功能。事实证明,生成的代码是: 并致电: 生成一个看起来像这样的C代码循环: 此代码的主要问题是,编译器在编译时不知道数组的元素在

  • 如何在不将PDF转换为PostScript的情况下将PJL命令插入PDF 在我通过FTP或LPR将其发送到打印机后。 我正在使用Zend_Pdf创建Pdf文档。 **我尝试此代码失败 文件打印正确,但没有改变抽屉和夹具,有什么建议吗?

  • 在Scapy中添加新的协议(或者是更加的高级:新的协议层)是非常容易的。所有的魔法都在字段中,如果你需要的字段已经有了,你就不必对这个协议太伤脑筋,几分钟就能搞定了。 简单的例子 每一个协议层都是Packet类的子类。协议层背后所有逻辑的操作都是被Packet类和继承的类所处理的。一个简单的协议层是被一系列的字段构成,他们关联在一起组成了协议层,解析时拆分成一个一个的字符串。这些字段都包含在名为f

  • 问题内容: 请帮助我,如何使AngularJS编译指令生成的代码? 您甚至可以在这里找到相同的代码,http://jsbin.com/obuqip/4/edit 的HTML Java脚本 问题答案: 这是一个既不使用编译功能也不使用链接功能的版本: 请注意,模板被包装在中,因为模板需要具有一个根元素。(如果没有,它将有两个 根元素。) 需要对HTML进行少许修改以进行插值: 小提琴。

  • 我想实现达特-原型,但是达特-原型-插件(从原型定义生成达特原型库的项目)目前不支持视窗。我找不到插件的替代方案。没有其他方法来生成达特的定义吗?任何建议表示赞赏。