Pycharm 自动完成调试控制台中未定义的类属性?

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

对于一般硬件类,我为运行时可能需要的物理设备制作了可选的占位符属性。当使用 Pycharm 的 IDE 时,这与自动完成功能配合得很好。然而,调试控制台的自动完成似乎比 IDE 知道的要少。

问题:有没有办法让已定义和未定义的属性都可在调试控制台中自动完成,即与 IDE 中的行为相同?

最小示例:

class OptionalAttributes:
    my_string: str
    my_predefined_str: str = "hello world"
  • Pycharm IDE: 属性及其类型均可用于自动完成:

  • Pycharm 调试控制台: 自动完成仅识别预定义属性。它不知道属性 my_string 并且无法推断其类型。

python autocomplete pycharm
1个回答
0
投票

如果我错了,请纠正我,但我相信变量注释声明不会初始化变量本身,因此 PyCharm 控制台看不到它。

在类的

__annotations__
中添加注释:

print(OptionalAttributes.__annotations__)
{'my_string': <class 'str'>, 'my_predefined_str': <class 'str'>}

更多信息见PEP 526

更详细的答案在这里: https://stackoverflow.com/a/57081373/22542854

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