diff --git a/packages/vscode-extension/src/registrationService.ts b/packages/vscode-extension/src/registrationService.ts index fa477c27c..932fc1a0e 100644 --- a/packages/vscode-extension/src/registrationService.ts +++ b/packages/vscode-extension/src/registrationService.ts @@ -44,8 +44,18 @@ export function registerDisposables(): Disposable[] { const queryDetailsProvider = new Neo4jQueryDetailsProvider(); const queryVisualizationProvider = new Neo4jQueryVisualizationProvider(); const renderBottomPanel = async (statements: string[]) => { - await commands.executeCommand('neo4jQueryDetails.focus'); - await commands.executeCommand('neo4jQueryVisualization.focus'); + try { + await commands.executeCommand('neo4jQueryDetails.open', { + preserveFocus: true, + }); + await commands.executeCommand('neo4jQueryVisualization.open', { + preserveFocus: true, + }); + } catch (e) { + /* no-op */ + //If a user (or a test framework) has an old version of vscode, .open won't exist + //A user can still open the webview manually, so we prefer not to remove focus from the editor + } await queryVisualizationProvider.viewReadyPromise; await queryDetailsProvider.executeStatements(statements); }; diff --git a/packages/vscode-extension/tests/specs/webviews/params.spec.ts b/packages/vscode-extension/tests/specs/webviews/params.spec.ts index b6d88da73..97fc30ff7 100644 --- a/packages/vscode-extension/tests/specs/webviews/params.spec.ts +++ b/packages/vscode-extension/tests/specs/webviews/params.spec.ts @@ -54,9 +54,8 @@ suite('Params panel testing', () => { before(async () => { workbench = await browser.getWorkbench(); - await workbench.executeCommand( - 'Query Results: Focus on Query Details View', - ); + await workbench.executeCommand('neo4jQueryDetails.focus'); + await workbench.executeCommand('neo4jQueryVisualization.focus'); }); async function escapeModal(count: number) {