Python VsCode:类上的绿色突出显示不工作

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

我有以下Python代码:

from typing import List


class User:
    id: str
    name: str

    def __init__(self, id: str, name: str):
        self.id
        self.name = name


UserList = List[User]

用户以绿色突出显示,但用户列表未突出显示。

这是 VsCode 上的屏幕截图: screen_shot_invalid_highlight

它会导致不连贯的亮点,例如: incoherent_highlights

有没有办法让 VsCode 将 UserList 以绿色突出显示?

VsCode 版本:1.65.2,安装了 python 和 Pylance 扩展

python visual-studio-code highlight
2个回答
1
投票

UserList
的语义范围是:
variable.other.readwrite

User
的语义范围是:
entity.name.type.class


上线了

from typing import List, Tuple

List
Tuple
具有不同的颜色和范围

这不应该是这样,因此它验证了 Pylance 的错误问题


0
投票

有一个未解决的问题(https://github.com/microsoft/pylance-release/issues/3100),但似乎不是当前计划

抱歉,目前没有计划。不过你可以得到这个 有点靠你自己。

TypeAlias 在语义中用

typehint
修饰符进行标记 令牌。这允许您覆盖颜色[...]

要覆盖类型提示的颜色,您可以将设置

editor.semanticTokenColorCustomizations
定义为:

"editor.semanticTokenColorCustomizations": {
    "[Default Dark Modern]": {
        "rules": {
            "*.typeHint": "#4EC9B0"
        }
    }
}

这假设您使用 VSCode 主题

Default Dark Modern
。如果您使用的是其他主题,您只需将主题名称更改为您使用的实际主题即可。

您可以在

Settings -> Themes -> Color Theme
中查看您正在使用哪个主题(主题标识符应位于主题名称的右侧)。如果您在
Ctrl+Space
文件中的
[
之后按
settings.json
,VSCode 还会自动为您补全主题标识符。

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