首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IDE可以智能感知protobuf-python成员

IDE可以智能感知protobuf-python成员
EN

Stack Overflow用户
提问于 2014-05-10 17:19:12
回答 1查看 1.5K关注 0票数 6

我想要在python中生成的protobuf类的智能感知。但生成的protobuf类的实现是特殊的,代码如下:

代码语言:javascript
复制
class X(_message.Message):
  __metaclass__ = _reflection.GeneratedProtocolMessageType
  DESCRIPTOR = _X

大多数python IDE只能智能感知__metaclass__DESCRIPTOR两个成员,而不能感知.proto文件中定义的成员。

怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2019-10-31 13:06:03

如果您使用的是最新的Python版本(3.7+),那么可以尝试我的https://github.com/danielgtaylor/python-betterproto项目。它生成具有适当类型的数据类,VSCode、PyCharm等可以使用这些数据类来提供类型提示&智能感知。

例如,给定以下输入:

代码语言:javascript
复制
syntax = "proto3";

// Some documentation about the Test message.
message Test {
    // Some documentation about the count.
    int32 count = 1;
}

您将得到如下输出:

代码语言:javascript
复制
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: int32.proto
# plugin: python-betterproto
from dataclasses import dataclass

import betterproto


@dataclass
class Test(betterproto.Message):
    """Some documentation about the Test message."""

    # Some documentation about the count.
    count: int = betterproto.int32_field(1)

它比官方生成的描述符类更容易阅读。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23579278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档