首页 > 解决方案 > 如何提供自动完成提示,类似于 dataclass 和 sqlalchemy DeclarativeMeta?

问题描述

我想实现一个装饰器或基类,它获取声明的类中的字段列表,并向其中添加一个构造函数,该构造函数接受与这些字段对应的参数。类似于@dataclassSQLAlchemy 的declarative_base工作方式。

我的问题是 - 我如何让 PyC​​harm 和其他 IDE 识别并建议这个构造函数的自动完成。

例如,如果我编写以下代码:

@dataclass
class Foo:
    bar: int
    baz: str

Foo([caret is here])

然后按 command-P(参数信息),PyCharm 将显示一个带有bar:int, baz:str. 此外,如果我在参数名称中出错,它会警告我。所以基本上,PyCharm 似乎“知道”@dataclass装饰器添加了一个__init__方法及其确切的签名。

我如何让它为我的装饰器做到这一点?

标签: pythonpycharm

解决方案


推荐阅读