Bug/restore query editor tabs (#6654)

* trial run for query editor temp file fix

* Fixing restore tabs bug with right layering

* Moving FileService change from vscode to our code
This commit is contained in:
Udeesha Gautam
2019-08-13 18:41:25 -07:00
committed by GitHub
parent b5fdf8c2a7
commit a645a09f42
5 changed files with 38 additions and 13 deletions

View File

@@ -10,6 +10,7 @@ import { URI } from 'vs/base/common/uri';
import { UntitledEditorInput } from 'vs/workbench/common/editor/untitledEditorInput';
import { EditorInput, ConfirmResult, EncodingMode, IEncodingSupport } from 'vs/workbench/common/editor';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IFileService } from 'vs/platform/files/common/files';
import { IConnectionManagementService, IConnectableInput, INewConnectionParams, RunQueryOnConnectionMode } from 'sql/platform/connection/common/connectionManagement';
import { QueryResultsInput } from 'sql/workbench/parts/query/common/queryResultsInput';
@@ -18,6 +19,7 @@ import { IQueryModelService } from 'sql/platform/query/common/queryModel';
import { ISelectionData, ExecutionPlanOptions } from 'azdata';
import { UntitledEditorModel } from 'vs/workbench/common/editor/untitledEditorModel';
import { IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService';
import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput';
const MAX_SIZE = 13;
@@ -117,7 +119,8 @@ export class QueryInput extends EditorInput implements IEncodingSupport, IConnec
private _connectionProviderName: string,
@IConnectionManagementService private _connectionManagementService: IConnectionManagementService,
@IQueryModelService private _queryModelService: IQueryModelService,
@IConfigurationService private _configurationService: IConfigurationService
@IConfigurationService private _configurationService: IConfigurationService,
@IFileService private _fileService: IFileService
) {
super();
this._updateSelection = new Emitter<ISelectionData>();
@@ -218,6 +221,14 @@ export class QueryInput extends EditorInput implements IEncodingSupport, IConnec
return false;
}
public matchInputInstanceType(inputType: any): boolean {
return (this._sql instanceof inputType);
}
public inputFileExists(): Promise<boolean> {
return this._fileService.exists(this.getResource());
}
public getName(longForm?: boolean): string {
if (this._configurationService.getValue('sql.showConnectionInfoInTitle')) {
let profile = this._connectionManagementService.getConnectionProfile(this.uri);

View File

@@ -294,6 +294,7 @@ suite('SQL QueryEditor Tests', () => {
undefined,
connectionManagementService.object,
queryModelService.object,
undefined,
undefined
);
});

View File

@@ -76,7 +76,7 @@ suite('TaskUtilities', function () {
// Mock the workbench service to return the active tab connection
let tabConnectionUri = 'file://test_uri';
let editorInput = new UntitledEditorInput(URI.parse(tabConnectionUri), false, undefined, undefined, undefined, undefined, undefined, undefined);
let queryInput = new QueryInput(undefined, editorInput, undefined, undefined, undefined, undefined, undefined);
let queryInput = new QueryInput(undefined, editorInput, undefined, undefined, undefined, undefined, undefined, undefined);
mockConnectionManagementService.setup(x => x.getConnectionProfile(tabConnectionUri)).returns(() => tabProfile);
// If I call getCurrentGlobalConnection, it should return the expected profile from the active tab