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

问题描述 投票:0回答:2

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

syntax = "proto3";

message Event {
  optional string name = 1;
}

我已经下载了 protoc linux 编译器 (protoc-3.19.3-linux-x86_64.zip) 并将其安装在项目文件夹之外的本地计算机中。

然后我安装了核心运行时依赖项

$ npm 我谷歌-protobuf

我的 package.json 显示:

"google-protobuf": "^3.19.3",

然后我运行此行以从 .proto 文件生成 JS 代码

$ 协议 --js_out=import_style=commonjs,binary:.原型/event.proto

它输出一些生成的代码,我可以使用这些代码导入

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

通过检查 Schema.Event 我可以看到我的 prop .name 在那里,但我无法进行任何自动完成。有没有办法实现这个目标?

javascript node.js typescript autocomplete proto
2个回答
0
投票

事实证明有一些维护良好的 npm 包可以处理这些事情。

https://www.npmjs.com/package/protobufjs 或者 https://www.npmjs.com/package/ts-proto


0
投票

将此代码添加到生成文件的末尾

*_pb.js

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

// fix auto completion
module.exports = exports;

在 Intelllji 编辑器中为我工作。

© www.soinside.com 2019 - 2024. All rights reserved.