From 8cbe519d2cfe6d28cddc24e01e8476611b4cf75e Mon Sep 17 00:00:00 2001 From: Benjamin Simmonds Date: Thu, 11 Aug 2022 15:09:53 +0200 Subject: [PATCH] selected Items context in use --- tree-view-sample/package.json | 4 ++++ tree-view-sample/src/extension.ts | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/tree-view-sample/package.json b/tree-view-sample/package.json index 58f2755d..d160739c 100644 --- a/tree-view-sample/package.json +++ b/tree-view-sample/package.json @@ -165,6 +165,10 @@ "when": "view == nodeDependencies", "group": "navigation" }, + { + "command": "jsonOutline.renameNode", + "when": "view == jsonOutline" + }, { "command": "nodeDependencies.addEntry", "when": "view == nodeDependencies" diff --git a/tree-view-sample/src/extension.ts b/tree-view-sample/src/extension.ts index d33e96b8..9251d454 100644 --- a/tree-view-sample/src/extension.ts +++ b/tree-view-sample/src/extension.ts @@ -26,7 +26,17 @@ export function activate(context: vscode.ExtensionContext) { vscode.window.registerTreeDataProvider('jsonOutline', jsonOutlineProvider); vscode.commands.registerCommand('jsonOutline.refresh', () => jsonOutlineProvider.refresh()); vscode.commands.registerCommand('jsonOutline.refreshNode', offset => jsonOutlineProvider.refresh(offset)); - vscode.commands.registerCommand('jsonOutline.renameNode', offset => jsonOutlineProvider.rename(offset)); + vscode.commands.registerCommand('jsonOutline.renameNode', args => { + let offset = undefined; + if(args.selectedTreeItems && args.selectedTreeItems.length){ + offset = args.selectedTreeItems[0]; + }else if(typeof args === 'number'){ + offset = args; + } + if(offset){ + jsonOutlineProvider.rename(offset) + } + }); vscode.commands.registerCommand('extension.openJsonSelection', range => jsonOutlineProvider.select(range)); // Samples of `window.createView`