有没有办法让.proto JavaScript生成的代码自动完成?

mpgws1up  于 2023-11-15  发布在  Java
关注(0)|答案(2)|浏览(133)

我写了一个简单的.proto文件

syntax = "proto3";

message Event {
  optional string name = 1;
}

字符串
我已经下载了protoc Linux编译器(protoc-3.19.3-linux-x86_64.zip),并将其安装在我的本地机器上项目文件夹之外。
然后我安装了核心运行时依赖项,
$ npm i google-protobuf
我的package.json显示:

"google-protobuf": "^3.19.3",


然后我运行这行代码从.proto文件生成JS代码
$ protoc --js_out=import_style=commonjs,binary:. protos/event.proto
它输出一些生成的代码,我可以用

const Schema = require("./protos/event_pb");


通过检查Schema.Event,我可以看到我的prop.name在那里,但是我不能得到任何自动完成。有没有办法实现这一点?

eit6fx6z

eit6fx6z1#

事实证明,有一些维护良好的npm包可以处理这些事情。
https://www.npmjs.com/package/protobufjshttps://www.npmjs.com/package/ts-proto

vfh0ocws

vfh0ocws2#

将此代码添加到生成的文件*_pb.js的末尾

...
goog.object.extend(exports, proto);

// fix auto completion
module.exports = exports;

字符串
在Intellji编辑器中为我工作。

相关问题