Hide suggest widget on cell execution (#16895)

* Hide suggest widget on cell execution

* Also hide for query editor

* Fix compile issue with tests
This commit is contained in:
Chris LaFreniere
2021-09-01 16:27:08 -07:00
committed by GitHub
parent f578fc55ee
commit 502feba76d
3 changed files with 8 additions and 1 deletions

View File

@@ -24,6 +24,7 @@ import { URI } from 'vs/base/common/uri';
import { IModelContentChangedEvent } from 'vs/editor/common/model/textModelEvents';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { TestNotificationService } from 'vs/platform/notification/test/common/testNotificationService';
import { ICommandService, NullCommandService } from 'vs/platform/commands/common/commands';
import { ControlType, IChartOption } from 'sql/workbench/contrib/charts/browser/chartOptions';
import { CellModel } from 'sql/workbench/services/notebook/browser/models/cell';
@@ -31,6 +32,7 @@ let instantiationService: IInstantiationService;
suite('Cell Model', function (): void {
let serviceCollection = new ServiceCollection();
serviceCollection.set(ICommandService, NullCommandService);
instantiationService = new InstantiationService(serviceCollection, true);
let factory = new ModelFactory(instantiationService);

View File

@@ -197,7 +197,8 @@ export class RunQueryAction extends QueryTaskbarAction {
constructor(
editor: QueryEditor,
@IQueryModelService protected readonly queryModelService: IQueryModelService,
@IConnectionManagementService connectionManagementService: IConnectionManagementService
@IConnectionManagementService connectionManagementService: IConnectionManagementService,
@ICommandService private readonly commandService?: ICommandService
) {
super(connectionManagementService, editor, RunQueryAction.ID, RunQueryAction.EnabledClass);
this.label = nls.localize('runQueryLabel', "Run");
@@ -237,6 +238,8 @@ export class RunQueryAction extends QueryTaskbarAction {
}
if (this.isConnected(editor)) {
// Hide IntelliSense suggestions list when running query to match SSMS behavior
this.commandService?.executeCommand('hideSuggestWidget');
// if the selection isn't empty then execute the selection
// otherwise, either run the statement or the script depending on parameter
let selection = editor.getSelection(false);

View File

@@ -559,6 +559,8 @@ export class CellModel extends Disposable implements ICellModel {
return false;
}
this._outputCounter = 0;
// Hide IntelliSense suggestions list when running cell to match SSMS behavior
this._commandService.executeCommand('hideSuggestWidget');
this._telemetryService?.createActionEvent(TelemetryKeys.TelemetryView.Notebook, TelemetryKeys.NbTelemetryAction.RunCell)
.withAdditionalProperties({ cell_language: kernel.name })
.send();