3

リージョンを追加して、Microsoft の AL 言語を拡張しようとしています。これを手動で行うには、vscode 拡張フォルダー .vscode\extensions\Microsoft.al-0.14.17461 に移動し、ファイル al.configuration.json および alsyntax.tmlanguage を変更します。

しかし、私は独自の VSCode 拡張機能を作成してこれを行いたいと考えています。そこで、独自の拡張機能を作成し、それらの特定のファイルをそれにコピーし、特定のコードを追加しました。そして幸いなことに、それはうまくいきました!

ただし、特定のコードだけでなく、構文ファイル全体を使用する場合にのみ機能します..

以下はal.configuration.jsonのコードで、追加したい**の間の折りたたみ部分です。

{
    **"folding": { 
        "markers": { 
        "start": "^\\s*//\\s*#region\\b", 
        "end": "^\\s*//\\s*#endregion\\b" 
        }** 
        },
    "brackets": [
        ["{", "}"],
        ["[", "]"],
        ["(", ")"],
        ["BEGIN", "END;"],
        ["begin", "end;"],
        ["Begin", "End;"]
    ],
    "autoClosingPairs": [
        { "open": "BEGIN", "close": "END;", "notIn": ["string", "comment"] },
        { "open": "begin", "close": "end;", "notIn": ["string", "comment"] },
        { "open": "Begin", "close": "End;", "notIn": ["string", "comment"] },
        { "open": "{", "close": "}" },
        { "open": "[", "close": "]" },
        { "open": "(", "close": ")" },
        { "open": "'", "close": "'", "notIn": ["string", "comment"] },
        { "open": "\"", "close": "\"", "notIn": ["string"] }
    ],
    "surroundingPairs": [
        ["'", "'"],
        ["\"", "\""]
    ],
    "wordPattern": "(\"(?:(?:\\\"\\\")|[^\\\"])*\")|(-?\\d*\\.\\d\\w*)|([^\\`\\~\\!\\@\\#\\%\\^\\&\\*\\(\\)\\-\\=\\+\\[\\{\\]\\}\\\\\\|\\;\\:\\'\\\"\\,\\.\\<\\>\\/\\?\\s]+)"
}
4

1 に答える 1

5

わかりました。InjectTo を追加する必要があります

"contributes": {
        "grammars": [
            {
                "scopeName": "al.extended",
                "path": "./syntax/alsyntax.extended.json",
                "injectTo": [ "source.al" ]
            }
        ],
于 2018-07-13T22:23:03.817 に答える