Vscodeのメモ(メニューに表示されているものや気をつけてください)
2377 ワード
メニューにオプションのコマンドを表示します.jsonはコメントを許さない
editorFocus編集パネルのフォーカス
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はこのクラスのタイプを定義しました
私たちが必要とするパラメータはまたこのクラスのオブジェクトなので、私たちが必要とするプロバイダ、つまりこの関数は何を必要としますか?私たちは彼の必要に応じて彼にあげるだけでいいです.
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はこのクラスのタイプを定義しました
私たちが必要とするパラメータはまたこのクラスのオブジェクトなので、私たちが必要とするプロバイダ、つまりこの関数は何を必要としますか?私たちは彼の必要に応じて彼にあげるだけでいいです.