Vscode 中的语法高亮显示类型提示

Syntax highlighting in Vscode for type hints

我使用的是 Dark++ 主题,但个性化了很多颜色。 一切正常,但有一件小事:只有基本类型被正确突出显示。 例如这个

"editor.tokenColorCustomizations": {
      "comments": "#707070",
      "keywords": "#adc5ee",
      "types": "#bbbbbb",
      "strings": "#bdceb7"
}

给我下面的图片:

我希望函数声明中的类型提示为灰色+斜体,因为它恰好适用于类型“str”。我知道 npt.NDArray 并不简单,因为它来自 typing 模块,但为什么这对“list”和“dict”不起作用? 你知道我可以使用的解决方法吗? 据我所知,这些类型没有特殊的标记,因此除了自定义通用标记“类型”之外,没有其他方法可以访问它们。 我尝试使用带有“突出显示”扩展名的正则表达式,但这不是最佳选择,因为我还想保留这样的功能,如果我注释掉该文本的一部分,它应该变灰(使用“突出显示”它不会).

为了结束这个主题并供将来参考,我是这样解决我的问题的:我最终按照 rioV8 的建议对类型提示使用了语义突出显示。

这是通过将以下内容添加到我的 Vscode 设置 JSON 文件中来完成的:

    "editor.semanticTokenColorCustomizations": {
      "rules": {
        "*.typeHint": {
          "foreground": "#bbbbbb",
          "fontStyle": "italic"
        },
        "class.typeHint.builtin": {
          "foreground": "#bbbbbb",
          "fontStyle": "italic"
        }
      }
    }