如何让 Visual Studio 代码为代码完成/智能感知提出类属性?

Mic*_*opp 6 python intellisense visual-studio-code

如果我在启用ms-python.python扩展名的情况下在 Visual Studio Code 中编辑 python 文件,我会收到关于成员变量和方法的建议,但不会收到关于类的类属性的建议。在图像1下面中,您可以看到它确实为类提出了一些建议——但不是我希望的类属性。

有没有办法解决这个问题(修复设置,安装另一个插件,...)?

例如,请考虑以下代码并查看指示自动完成功能在何处起作用/不起作用的注释。

class MyClass:
    """
    A class with a single class attribute ``value`` and an instance attribute ``member``.
    """

    value: int = 3

    def __init__(self):
        self.member = 5

    def method(self, i: int) -> int:
        """return ``i`` + ``value`` + ``self.member``"""
        return i + MyClass.value + self.member


instance = MyClass()

print(instance.method(5))   # autocompletion for method works
print(instance.member)      # autocompletion for member works
print(MyClass.value)        # autocompletion for value DOES NOT work
print(instance.value)       # autocompletion for value works
Run Code Online (Sandbox Code Playgroud)

我正在使用 Python 3.8 在 Arch Linux 上运行带有 Python 扩展的 VSCode 1.43.2 版本 2020.3.71659。

Intellisense 确实为类属性提出了一些建议,但没有为 _my_ 属性提出建议。

编辑:有一个类似方向的老问题,但这并没有解决我的问题。

小智 1

当您创建类的实例时,您所指的内容将起作用。

在您的例子中,实例是 MyClass 类的对象。所以调用实例。应该给你关于类属性的建议。