Vscodeのメモ(メニューに表示されているものや気をつけてください)

2377 ワード

メニューにオプションのコマンドを表示します.jsonはコメントを許さない
editorFocus編集パネルのフォーカス
		"keybindings":[
			{
				"command": "extension.insertHeader",
				"key": "ctrl+q",
				"mac":"cmd+f10",
				"when":"editorTextFocus"
			}
		],
		"menus":{
			"editor/context": [
				{
					"when":"editorFocus",  
					"command": "extension.insertHeader",
					"group":"navigation"
				}
			]
		}

menus定義メニュー表示の内容
注意すべきはcommandコマンドを制御してメニューの表示内容を制御することで、このコマンドのtitleを自動的に探します.
複数のコンテンツを表示する必要がある場合は、配列であるため、1つのオブジェクトで対応するcommandを変更すればよい
1プラグインを一度アクティブにすると、再度アクティブにする必要はありません.
export function activate(context:ExtensionContext){}内のコマンドを使用できます
2 languagesの登録コマンドは言語タイプで実行されます
conmandsの登録コマンドはコマンドによって実行されます(クリックしたtitleの具体的な多くの実行方法はpackageで見つけることができます)
3ビュー(ツリー)
  
「contributes」:{"viewsContainers":{//左のアクティビティバー(大ビューの内容)「activitybar」:[{"id":"package-explorer","title":"Package Explorer",                     "icon": "resources/package-explorer.svg"                }             ]         },「views」:{//左アクティビティバーの右側は2次ビュー(ここの属性は左アクティビティバーのIDに対応して1次ディレクトリ2次ディレクトリと理解できる)explorerはvscodeが持参した文//ピースクリップの2次ディレクトリである
            "package-explorer": [                 {                     "id": "package-dependencies",                     "name": "Dependencies"                },                 {                     "id": "package-outline",                     "name": "Outline"                }             ]         } }
 
プロバイダProvider
最初はこれが神秘的だと思っていました.何が提供プログラムなのか、どう書けばいいのでしょうか.
その後、プロバイダとは、どの関数を実行するか、どのコマンドを実行するかを発見し、その後、各APIに対応するプロバイダタイプがあることを発見しました.
let us=new...たとえば
TreeDataProvideのプロバイダが必要です
vscode.window.registerTreeDataProvider('nodeDependencies', nodeDependenciesProvider);  
let nodeDependenciesProvider=new DepNodeProvider(「パラメータは必要ありません」)
そしてnewにはnewというクラスのタイプがあるに違いないが、実はvscodeは定義されている.
export class DepNodeProvider implements vscode.TreeDataProvider { }
ここにインタフェースvscodeがありますTreeDataProviderはこのクラスのタイプを定義しました
私たちが必要とするパラメータはまたこのクラスのオブジェクトなので、私たちが必要とするプロバイダ、つまりこの関数は何を必要としますか?私たちは彼の必要に応じて彼にあげるだけでいいです.