diff --git a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts index 62a7391952..a93d7085a2 100644 --- a/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts +++ b/src/sql/workbench/contrib/query/browser/keyboardQueryActions.ts @@ -227,9 +227,9 @@ export class EstimatedExecutionPlanKeyboardAction extends Action { } } -export class RunCurrentQueryWithActualPlanKeyboardAction extends Action { - public static ID = 'runCurrentQueryWithActualPlanKeyboardAction'; - public static LABEL = nls.localize('runCurrentQueryWithActualPlanKeyboardAction', "Run Current Query with Actual Plan"); +export class ToggleActualPlanKeyboardAction extends Action { + public static ID = 'ToggleActualPlanKeyboardAction'; + public static LABEL = nls.localize('ToggleActualPlanKeyboardAction', "Enable/Disable Actual Execution Plan"); constructor( id: string, @@ -242,9 +242,12 @@ export class RunCurrentQueryWithActualPlanKeyboardAction extends Action { public override run(): Promise { const editor = this._editorService.activeEditorPane; + if (editor instanceof QueryEditor) { - editor.runCurrentQueryWithActualPlan(); + let toActualPlanState = !editor.input.state.isActualExecutionPlanMode; + editor.input.state.isActualExecutionPlanMode = toActualPlanState; } + return Promise.resolve(null); } } diff --git a/src/sql/workbench/contrib/query/browser/query.contribution.ts b/src/sql/workbench/contrib/query/browser/query.contribution.ts index 22c1f4b935..a8bc3aa2e5 100644 --- a/src/sql/workbench/contrib/query/browser/query.contribution.ts +++ b/src/sql/workbench/contrib/query/browser/query.contribution.ts @@ -19,7 +19,7 @@ import { QueryResultsInput } from 'sql/workbench/common/editor/query/queryResult import * as queryContext from 'sql/workbench/contrib/query/common/queryContext'; import { RunQueryKeyboardAction, RunCurrentQueryKeyboardAction, CancelQueryKeyboardAction, RefreshIntellisenseKeyboardAction, ToggleQueryResultsKeyboardAction, - RunQueryShortcutAction, RunCurrentQueryWithActualPlanKeyboardAction, CopyQueryWithResultsKeyboardAction, FocusOnCurrentQueryKeyboardAction, ParseSyntaxAction, ToggleFocusBetweenQueryEditorAndResultsAction, EstimatedExecutionPlanKeyboardAction + RunQueryShortcutAction, ToggleActualPlanKeyboardAction, CopyQueryWithResultsKeyboardAction, FocusOnCurrentQueryKeyboardAction, ParseSyntaxAction, ToggleFocusBetweenQueryEditorAndResultsAction, EstimatedExecutionPlanKeyboardAction } from 'sql/workbench/contrib/query/browser/keyboardQueryActions'; import * as gridActions from 'sql/workbench/contrib/editData/browser/gridActions'; import * as gridCommands from 'sql/workbench/contrib/editData/browser/gridCommands'; @@ -148,12 +148,13 @@ actionRegistry.registerWorkbenchAction( actionRegistry.registerWorkbenchAction( SyncActionDescriptor.create( - RunCurrentQueryWithActualPlanKeyboardAction, - RunCurrentQueryWithActualPlanKeyboardAction.ID, - RunCurrentQueryWithActualPlanKeyboardAction.LABEL, + ToggleActualPlanKeyboardAction, + ToggleActualPlanKeyboardAction.ID, + ToggleActualPlanKeyboardAction.LABEL, { primary: KeyMod.CtrlCmd | KeyCode.KEY_M } ), - RunCurrentQueryWithActualPlanKeyboardAction.LABEL + ToggleActualPlanKeyboardAction.LABEL, + CATEGORIES.ExecutionPlan.value ); actionRegistry.registerWorkbenchAction(