奇怪的C#(统一)语法着色

奇怪的C#(统一)语法着色,c#,unity3d,visual-studio-code,themes,C#,Unity3d,Visual Studio Code,Themes,我想通过语法突出显示实现两件事 首先(非常重要):字段采用一种颜色,参数采用另一种颜色 第二个(不太重要):不同颜色的字段 我确实意识到第二个需求在VSCode中可能无法实现,但我非常确定第一个需求在默认情况下应该实现,但在我的情况下,它的行为非常奇怪: 您可以看到两件事——不仅参数和字段的用法是同一种颜色,而且字段声明与它的用法颜色完全不同,颜色到处都是。您可以看到,如果变量的名称与其类名匹配,则它与类的颜色相同,这很可笑(因为它现在看起来像一个静态类) 有没有办法让字段的偏差和用法用一种颜

我想通过语法突出显示实现两件事

首先(非常重要):字段采用一种颜色,参数采用另一种颜色

第二个(不太重要):不同颜色的字段

我确实意识到第二个需求在VSCode中可能无法实现,但我非常确定第一个需求在默认情况下应该实现,但在我的情况下,它的行为非常奇怪:

您可以看到两件事——不仅参数和字段的用法是同一种颜色,而且字段声明与它的用法颜色完全不同,颜色到处都是。您可以看到,如果变量的名称与其类名匹配,则它与类的颜色相同,这很可笑(因为它现在看起来像一个静态类)

有没有办法让字段的偏差和用法用一种颜色表示,而参数用另一种颜色表示


我可能应该提到,语义突出显示似乎不起作用-没有任何变化,无论我将其启用为true或false,重新启动窗口或vscode,都没有任何变化。

我找到了语义标记颜色自定义的修复方法,现在(受Rider启发)代码看起来如下:

我在settings.json中使用高对比度主题(我相信是内置的)和以下规则:

"editor.semanticTokenColorCustomizations": {
    "enabled": true,
    "rules": {
        "parameter": {
            "foreground": "#FFFFFF",
            "fontStyle": "italic",
        },
        "class": {
            "foreground": "#C191FF",
            "fontStyle": "underline",
        },
        "class.static": {
            "fontStyle": "bold underline",
        },
        "field": "#66C3CC",
        "property": "#66C3CC",
        "plainKeyword": "#6C95EB",
        "number": "#ED94C0",
        "method": "#33CC8F",
        "local": "#FFFFFF",
        "controlKeyword": "#6C95EB"
    }
}
该信用证由美国国家公共广播电台提供。老实说,我花了一段时间才找到那篇文章,所以我希望将来像我这样连功能名称都找不到的人至少会找到我的文章


有两件事值得一提——我认为我的第二个需求目前无法通过语义标记实现,而且我还了解到,大多数主题的颜色属性和字段都不同,这是我个人不喜欢的。

它真的是VSCode吗?因为它看起来真的像VS。。。。不管怎样,假设你有VSCode,那么主题呢?比如从VSCodeExtensions选项卡下载它们。你试过了吗?这与Unity3d有什么关系?@derHugo因为我在Unity的vscode中遇到了很多intellisense问题,所以我认为这可能是另一个问题。@Nur1是的,这是具有高对比度主题的vscode。我尝试了不同的主题,其中一些已经满足了我的需求,但我已经找到了一个解决方案,我将在一分钟后发布。这是否回答了你的问题?自我回答很酷。如果你找到了对你有帮助的好答案,你可以给他们投票。这一个有0票优势,因此没有资格成为被愚弄的目标。欺骗机制是我们处理使内容更容易访问的方式。一个问题和答案可能很难找到。所以,如果你有一个好问题,让它更明显,我们可以在右边的每个标志杆点上贴上标签。@Self谢谢你提供的信息,从现在起,我将更加关注向上投票,我向NPRA投了向上投票,以获得他有用的答案。