Activation Events - package.json

一定の基準より情報が古いコンテンツ

拡張機能は、それが必要になるまで読み込まれません。その結果、拡張機能をアクティブにする必要があるときVS Codeにコンテキストを提供する必要があります。次のアクティブイベントをサポートしています:

  • onLanguage:${language}
  • onCommand:${command}
  • onDebug:${type}
  • workspaceContains:${toplevelfilename}
  • *

また、package.json extension manifest の概要と必須フィールドについても説明します。

activationEvents.onLanguage

任意の拡張子のファイルを開いたときに、拡張機能をアクティベートします。

...
"activationEvents": [
"onLanguage:python"
]
...

activationEvents.onCommand

コマンドを呼び出したときに、拡張機能をアクティベートします。

...
"activationEvents": [
"onCommand:extension.sayHello"
]
...

activationEvents.onDebug

デバッグを開始したときに、特定のタイプのデバッグセッションなら拡張機能をアクティベートします。

...
"activationEvents": [
"onDebug:node"
]
...

activationEvents.workspaceContains

フォルダーを開いたときに、特定のファイルがフォルダーに存在する場合拡張機能をアクティベートします。

...
"activationEvents": [
"workspaceContains:.editorconfig"
]
...

activationEvents.*

VS Codeを起動したときに、拡張機能をアクティベートします。ユーザーエクスペリエンスを確保するために、他のアクティベーションイベントの組み合わせが使用できない場合にのみで使用してください。

...
"activationEvents": [
"*"
]
...

Note: 拡張機能は複数の活性化イベントを受け入れます。ですから、"*"よりも最適な方法が必ずあります。

Note: 拡張機能は、メインモジュールからactivate()関数をエクスポートしなければなりません。これは指定したアクティベーションイベントのいずれかを発行したときVS Codeによって一度だけ呼び出されます。また拡張機能は 、VS Codeをシャットダウン時クリーンアップタスクを実行するために、メインモジュールからdeactivate()関数をエクスポートする必要があります。拡張機能はクリーンアッププロセスが非同期の場合、deactivate()からPromiseを返さなければなりません。クリーンアップを同期して実行している場合、拡張機能はdeactivate()からundefinedを返します。

次のステップ

VS Codeの拡張モデルの詳細については次のトピックを試してください:

42757495f4d9a4a7a959e45a7eb459c388b04aaf