リージョンを追加して、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]+)"
}