拡張機能と言語を紐付ける
package.json の
- activationEvents
- languages
の設定が絡んでいます。
languagesが言語の定義となっており、
- id
- aliases
- extensions
- configuration
を設定します。
"languages": [
{
"id": "sv",
"aliases": [
"SystemVerilog",
"Verilog",
"sv"
],
"extensions": [
"v",
"vh",
"sv",
"svh"
],
"configuration": "./language-configuration.json"
}
],
上記だと、idが識別子でなんでも良いです。aliasesも、適当でいいです。
extensionsが重要で、この拡張子を持つファイルはすべてid:svとカテゴライズされることになります。
configurationは言語の括弧やコメントの種類を指示します。
configurationの意図は括弧の自動補完機能と、対応括弧のサーチのためだと思われますので、無くても大丈夫です。
この言語定義によるid:svをactivationEvents側で設定すると、extensionsで指定した拡張子ファイルを開くと対応した拡張機能が起動する仕組みとなっているようです。
"activationEvents": [
"onLanguage:sv"
],