簡體   English   中英

VSCode多語言擴展無法加載第二語言的語法

[英]VSCode multiple language extension not loading second language's grammar

我正在構建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就會識別出我的語言存在: 例子1 注意右下角的ez80-Assembler。 但是,如果我使用范圍檢查器查看范圍: 例子2

該錯誤可能是我忽略的很小的錯誤。 幫助找到它是極大的贊賞。

錯誤是我的錯。 我的某處括號不完整。 如果您遇到這種情況,請按ctrl-shift-i打開調試菜單並檢查錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM