【发布时间】:2020-01-10 17:47:17
【问题描述】:
我正在为 VSCode 构建一个扩展,以增加对多种语言的支持。我已经完成了第一个,现在正在处理第二个。但是,当我打开相应的文件时,第二语言的语法不会加载,即使 Visual Studio 可以识别它。
我已尝试删除我制作的第一种语言,但第二种语言仍然拒绝加载。
package.json:
"contributes": {
"languages": [
{
"id": "ti-basic",
"aliases": [
"Ti-BASIC",
"ti-basic"
],
"extensions": [
".tibasic"
],
"configuration": "./tibasic-language-configuration.json"
},
{
"id": "ez80-asm",
"aliases": [
"ez80-Assembler"
],
"extensions": [
".asm",
".ez80",
".inc"
],
"configuration": "./ez80-language-configuration.json"
}
],
"grammars": [
{
"language": "ti-basic",
"scopeName": "source.tibasic",
"path": "./syntaxes/ti-basic.tmLanguage.json"
},
{
"language": "ez80-asm",
"scopeName": "source.asm",
"path": "./syntaxes/ez80-asm.tmLanguage.json"
}
]
}
/syntaxes/ez80-asm.tmLanguage.json:
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "ez80-Assembler",
"patterns": [
{
"include": "#comments"
},
{
"include": "#constants"
},
{
"include": "#supports"
}
],
"repository": {
"comments": {
"patterns": [{
"name": "comment.line.semicolon.ez80-asm",
"match": "^;"
},
{
"name": "comment.block.ez80-asm",
"begin": "#comment",
"end": "#endcomment"
}]
},
"constants": {
"patterns": [{
"name": "constant.numeric.ez80-asm",
"match": "(\\d)|($[0-9A-Fa-f]|(%[0-1])"
}]
},
"supports": {
"patterns": [{
"name": "support.function.ez80-asm",
"match": "adc|add|and|bit|call|ccf|cp|cpd|cpdr|cpi|cpir|cpl|daa|dec|di|djnz|ei|ex|exx|halt|im|inc|jp|jr|ld|ldd|lddr|ldi|ldir|lea|mlt|neg|nop|or|pea|pop|push|res|ret|reti|retn|rl|rla|rlc|rlca|rld|rr|rra|rrc|rrca|rrd|rsmix|rst|sbc|scf|set|sla|slp|sra|srl|stmix|sub|tst|xor|in|in0|ind|ind2|ind2r|indm|indmr|indr|indrx|ini|ini2|ini2r|inim|inimr|inir|inirx|otdm|otdmr|otdrx|otim|otimr|otirx|out|out0|outd|outd2|outd2r|outdr|outi|outi2|outi2r|outir|tstio"
},
{
"name": "support.variable.ez80-asm",
"match": "a|af|b|bc|c|d|de|e|h|hl|i|ix|iy|l|r|hx|hy|ixh|ixl|sll|iyh|iyl|lx|l"
}]
}
},
"scopeName": "source.asm"
}
每当我加载具有匹配文件类型的文件时,VSCode 都会识别出我的语言存在: 注意右下角的 ez80-Assembler。 但是如果我使用范围检查器来查看范围:
错误可能是我忽略的非常小的东西。非常感谢帮助找到它。
【问题讨论】:
-
开发控制台可能有错误?
-
是的,就是这样。某处缺少括号。
标签: visual-studio-code grammar vscode-extensions