カスタム言語の構文強調表示を有効にするために、Visual Studioコードで拡張機能を作成しようとしています。 @Wosiが提供している有益なアドバイスは、Create Custom Language in Visual Studio Codeです。それに基づいて、私は次のテストを試みました。 @によって与えられた例に基づいmylang.tmLanguage
ファイルを私は、その下の構文サブフォルダを作成カスタム言語の構文強調表示のためのVisual Studioコード拡張の作成
{
"name": "mylang",
"version": "0.0.1",
"engines": {
"vscode": ">=0.9.0-pre.1"
},
"publisher": "me",
"contributes": {
"languages": [{
"id": "mylang",
"aliases": ["MyLang", "mylang"],
"extensions": [".mylang",".myl"]
}],
"grammars": [{
"language": "mylang",
"scopeName": "source.mylang",
"path": "./syntaxes/mylang.tmLanguage"
}]
}
}
、及び含まれる:I(上記の例から)次のように定義されたルートにpackage.json
で%USERPROFILE%\.vscode\extensions
の下にサブフォルダを作成しwoziここに:How to create a simple custom language colorization to VS Codeあり、単純に上記のJSONファイルとの名前の一貫性を保つために若干の変更のカップル:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>scopeName</key>
<string>source.mylang</string>
<key>fileTypes</key>
<array>
<string>mylang</string>
<string>myl</string>
</array>
<key>name</key>
<string>mylang file</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:(hint|info|information))\b</string>
<key>name</key>
<string>info-token</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(warning|warn))\b</string>
<key>name</key>
<string>warn-token</string>
</dict>
<dict>
<key>match</key>
<string>\b(?i:(Error|Failure|Fail))\b</string>
<key>name</key>
<string>error-token</string>
</dict>
<dict>
<key>match</key>
<string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b</string>
<key>name</key>
<string>constant.numeric</string>
</dict>
</array>
<key>uuid</key>
<string>FF0550E0-3A29-11E3-AA6E-0800200C9A77</string>
</dict>
</plist>
しかし、私は、次のテストファイル(test.mylang
)とVisual Studioのコード(v1.11.2)を開きます:
2017-04-17 18:38 Hint This should be blue!
2017-04-17 18:38 Warning This should be amber!
2017-04-17 18:38 Fail This should be red!
キーワード(ヒント、警告、失敗)の色はありません。私はテーマを指定するために他の何かをする必要がありますか?あるいは、私は新しいユニークなUUIDを指定する必要がありますか?もしそうなら、私は自分自身で作ることができますか、何とか登録する必要がありますか?
'token.'プレフィックスは私の問題を修正追加、ありがとうございます。 –