使用 NET6 文件范围的命名空间时,VS 代码中的语法高亮显示关闭

Syntax highlighting is off in VS code when using NET6 file-scoped namespaces

NET6 引入了文件范围的命名空间。如果使用,VS 代码将难以呈现正确的语法突出显示。您是否看到相同的情况?如果是,是否有解决方法?我正在使用默认主题。

干杯

我找到了 C# syntax highlighting broken by file-scoped namespace #136886 and https://github.com/OmniSharp/omnisharp-vscode/issues/4884

幸运的是,这是一个已知问题,它将在 VS Code 的未来版本中得到纠正。其实在'insider'(a.k.a.beta)版本中已经修正了。

编辑 2021-11-26: 为了完整起见,解决方案在此 Github 评论中:

chrmarti commented 15 days ago

This seems to be fixed in VS Code Insiders. Could you give that a try: https://code.visualstudio.com/insiders/

其他用户在下一条指向 1.63.0-insider 版本的评论中确认了这一点,如下所述:

deckerbd commented 15 days ago

I'm noticing highlighting differences as well when using file-scoped namespace and records. VS Code (1.62.1): VS Code Insider (Version: 1.63.0-insider (Universal) commit: c109637):

另一方面,正如某些 GitHub 回复中所建议的那样,启用语义突出显示似乎不会产生预期的结果,因为此功能必须得到所用颜色主题的完全支持。

并不是对所有人都有效。例如,我最近使用的两个主题 Night Owl and Noctis Minimus.

就不是这种情况

这些是我使用 1.63.0-insider 时的情况:

以及在 1.62.1 版本中突出显示不正确的同一文件:

我的设置是:

    "csharp.semanticHighlighting.enabled": true,
    "editor.semanticHighlighting.enabled": "configuredByTheme",