在 Visual Studio 代码扩展中嵌入 C# 语言

Embedding C# Language in an Visual Studio Code Extension

我正在尝试在 VSC 扩展中嵌入 c# 语法突出显示。

我的tmLanguange.json如下

{
    "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
    "name": "CS Asm",
    "patterns": [
        {
            "include":"#csasm"
        }
    ],
    "repository": {
        "csasm" :{
            "patterns": [{
                "name" : "meta.embedded.block.bmasm",
                "begin": "@{",
                "end": "}",
                "patterns" : [{
                    "include" : "source.csharp"
                }]
            }]
        }
    },
    "scopeName": "source.csasm"
}

然而,这不会在 VSC 中产生任何突出显示。如果我将 source.csharp 更改为其他内容,它确实有效。

正常的 .cs 文件正确突出显示,因此我假设加载了 'csharp' 扩展名以提供语法规则。

C#有什么特别之处吗?

因为微软定义 source.cs 而不是 source.csharp,

https://github.com/microsoft/vscode/blob/main/extensions/csharp/package.json#L33