VS Code 自定义语法注入不起作用

VS Code custom grammar injection doesn't work

我正在尝试将自定义语法注入现有语言,但我似乎无法让它工作。

package.json:

{
  "name": "custom-grammar",
  "displayName": "custom-grammar",
  "version": "0.0.1",
  "engines": {
    "vscode": "^1.64.0"
  },
  "contributes": {
    "grammars": [
      {
        "path": "./ruby.has_many.json",
        "scopeName": "ruby.has_many.injection",
        "injectTo": [ "source.ruby" ]
      }
    ]
  }
}

ruby.has_many.json:

{
  "scopeName": "ruby.has_many.injection",
  "injectionSelector": "L:variable.other.ruby",
  "patterns": [
    {
      "include": "#has_many"
    }
  ],
  "repository": {
    "has_many": {
      "match": "has_many",
      "name": "keyword.other.has_many.rails.ruby"
    }
  }
}

有人能指出这里有什么问题吗?我不确定这是一个错误还是我做错了什么。

我什至 copy/pasted 官方指南中的 CREATING A BASIC INJECTION GRAMMAR 示例: https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide#injection-grammars).

但这也没有用。

我在这里发帖是为了更多地了解这个问题。 我也创建了 VS Code 支持票: https://github.com/microsoft/vscode/issues/143155

这里是示例的压缩包,用于快速测试: https://github.com/microsoft/vscode/files/8078854/custom-grammar.zip

VS 代码版本:

原来是 ruby.has_many.json 文件的编码问题。 它是 UTF-8 With BOM,但它必须是 UTF-8