Vscode 不会自动完成 python 中的函数枚举

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

我正在尝试使用函数式 API 创建一个枚举类,并希望在调用该枚举类后能够自动完成。但是,如果使用元素的临时变量创建枚举,则 vscode 似乎不起作用。 使用 python 3.10.12 和 VS代码: 1.81.1 6c3e3dba23e8fadc360aed75ce363ba185c49794 x64

from enum import Enum
class Color(str, Enum):
    AMARILLO = "yellow"


ColorFunctional = Enum("ColorFunctional", {"RED": "red", "BLUE": "blue", "AMARILLO": "yellow"}, type=str)

my_dict = {"RED": "red", "BLUE": "blue", "AMARILLO": "yellow"}
ColorFunctionalIndirect = Enum("B", my_dict, type=str)

assert Color.AMARILLO == "yellow" # -> This autocompletes and higlights!
assert ColorFunctional.AMARILLO == "yellow" # This just autocompletes (no highligthing)
assert ColorFunctionalIndirect.AMARILLO == "yellow" # This neither autocompletes nor highlights 

即使突出显示不起作用,我也希望至少在

ColorFunctional
中具有与
ColorFunctionalIndirect
相同的自动完成行为。

python visual-studio-code enums autocomplete syntax-highlighting
1个回答
0
投票

GitHub曾回复:

pylance 是一个静态分析器,因此不幸的是,不支持任何动态行为。

vscode官方文档中的解释:

Pylance 基于 Microsoft 的 Pyright 静态类型检查工具,利用 类型存根

.pyi
文件)和惰性类型推断来提供高性能的开发体验。

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