diff --git a/tree-view-sample/package.json b/tree-view-sample/package.json index 58f2755d..90174d31 100644 --- a/tree-view-sample/package.json +++ b/tree-view-sample/package.json @@ -11,7 +11,7 @@ "url": "https://github.com/Microsoft/vscode-extension-samples" }, "engines": { - "vscode": "^1.67.0" + "vscode": "^1.71.0" }, "categories": [ "Other" @@ -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..f4bf9eaa 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`