我想添加一些额外的语言特性,例如JavaScript内部的液态语言支持:
var firstName = "<% User.firstName %>";
var lastName = "<% User.firstName %>";我浏览了一下,在vscode存储库中找到了这个文件夹:https://github.com/microsoft/vscode/tree/main/extensions/javascript
它基本上是JavaScript tmLanguage语法规则,所以我想要创建一个新的javascript文件格式(.pjs),并应用相同的tmLanguage文件,并添加以下新规则:
"pk-liquid-expression": {
"begin": "<%",
"beginCaptures": {
"0": {
"name": "storage.type.primitive.java"
}
},
"end": "%>",
"endCaptures": {
"0": {
"name": "storage.type.primitive.java"
}
},
"name": "storage.type.primitive.java"
},但是,现在我的pjs文件没有任何语言特性,比如错误和警告。
我认为我的解决方案并不是很有前瞻性,但是,是否可以编辑当前的JavaScript tmLanguage规则并添加这些新的标记呢?
谢谢。
发布于 2022-05-01 15:32:41
一种解决方案是将“液态语言”转换为Javascript语言定义。这方面的主要步骤是定义要注入的语法,并创建一个选择器,该选择器定义何时注入语法:
{
"contributes": {
"grammars": [
{
"path": "./syntaxes/injection.json",
"scopeName": "todo-comment.injection",
"injectTo": ["source.js"]
}
]
}
}https://stackoverflow.com/questions/72076158
复制相似问题