Skip to content

Commit

Permalink
Fix access to query editor configuration (#11321)
Browse files Browse the repository at this point in the history
* fix access to query editor configuration

* fix configuration type

* fix setting type
  • Loading branch information
Anthony Dresser authored Jul 13, 2020
1 parent ff979f9 commit 286c021
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 23 deletions.
2 changes: 1 addition & 1 deletion src/sql/platform/query/common/query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export interface IQueryEditorConfiguration {
readonly encoding: string
},
readonly saveAsXml: {
readonly formatted: string,
readonly formatted: boolean,
readonly encoding: string
},
readonly streaming: boolean,
Expand Down
5 changes: 3 additions & 2 deletions src/sql/workbench/common/editor/query/queryEditorInput.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { ExecutionPlanOptions } from 'azdata';
import { startsWith } from 'vs/base/common/strings';
import { IRange } from 'vs/editor/common/core/range';
import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';

const MAX_SIZE = 13;

Expand Down Expand Up @@ -156,7 +157,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab
}));

this._register(this.configurationService.onDidChangeConfiguration(e => {
if (e.affectedKeys.indexOf('sql.showConnectionInfoInTitle') > -1) {
if (e.affectedKeys.indexOf('queryEditor') > -1) {
this._onDidChangeLabel.fire();
}
}));
Expand Down Expand Up @@ -196,7 +197,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab
public get resource(): URI { return this._text.resource; }

public getName(longForm?: boolean): string {
if (this.configurationService.getValue('sql.showConnectionInfoInTitle')) {
if (this.configurationService.getValue<IQueryEditorConfiguration>('queryEditor').showConnectionInfoInTitle) {
let profile = this.connectionManagementService.getConnectionProfile(this.uri);
let title = '';
if (this._description && this._description !== '') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ const queryEditorConfiguration: IConfigurationNode = {
'default': 'utf-8'
},
'queryEditor.results.saveAsXml.formatted': {
'type': 'string',
'type': 'boolean',
'description': localize('queryEditor.results.saveAsXml.formatted', "When true, XML output will be formatted when saving results as XML"),
'default': true
},
Expand Down
7 changes: 4 additions & 3 deletions src/sql/workbench/services/query/common/queryRunner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import { ILogService } from 'vs/platform/log/common/log';
import { find } from 'vs/base/common/arrays';
import { IRange, Range } from 'vs/editor/common/core/range';
import { BatchSummary, IQueryMessage, ResultSetSummary, QueryExecuteSubsetParams, CompleteBatchSummary, IResultMessage, ResultSetSubset, BatchStartSummary } from './query';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';

/*
* Query Runner class which handles running a query, reports the results to the content manager,
Expand Down Expand Up @@ -442,7 +443,7 @@ export default class QueryRunner extends Disposable {

private sendBatchTimeMessage(batchId: number, executionTime: string): void {
// get config copyRemoveNewLine option from vscode config
let showBatchTime = this.configurationService.getValue<boolean>('sql.showBatchTime');
let showBatchTime = this.configurationService.getValue<IQueryEditorConfiguration>('queryEditor').messages.showBatchTime;
if (showBatchTime) {
let message: IQueryMessage = {
batchId: batchId,
Expand Down Expand Up @@ -538,13 +539,13 @@ export function shouldIncludeHeaders(includeHeaders: boolean, configurationServi
return includeHeaders;
}
// else get config option from vscode config
includeHeaders = configurationService.getValue<boolean>('sql.copyIncludeHeaders');
includeHeaders = configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.copyIncludeHeaders;
return !!includeHeaders;
}

export function shouldRemoveNewLines(configurationService: IConfigurationService): boolean {
// get config copyRemoveNewLine option from vscode config
let removeNewLines = configurationService.getValue<boolean>('sql.copyRemoveNewLine');
let removeNewLines = configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.copyRemoveNewLine;
return !!removeNewLines;
}

Expand Down
18 changes: 3 additions & 15 deletions src/sql/workbench/services/query/common/resultSerializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import { getRootPath, resolveCurrentDirectory } from 'sql/platform/common/pathUtilities';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IFileDialogService, FileFilter } from 'vs/platform/dialogs/common/dialogs';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';

let prevSavePath: URI;

Expand All @@ -32,19 +33,6 @@ export interface SaveResultsResponse {
messages?: string;
}

interface ICsvConfig {
includeHeaders: boolean;
delimiter: string;
lineSeperator: string;
textIdentifier: string;
encoding: string;
}

interface IXmlConfig {
formatted: boolean;
encoding: string;
}

export enum SaveFormat {
CSV = 'csv',
JSON = 'json',
Expand Down Expand Up @@ -199,7 +187,7 @@ export class ResultSerializer {
let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.CSV as string };

// get save results config from vscode config
let saveConfig = this._configurationService.getValue<ICsvConfig>('sql.saveAsCsv');
let saveConfig = this._configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.saveAsCsv;
// if user entered config, set options
if (saveConfig) {
if (saveConfig.includeHeaders !== undefined) {
Expand Down Expand Up @@ -245,7 +233,7 @@ export class ResultSerializer {
let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.XML as string };

// get save results config from vscode config
let saveConfig = this._configurationService.getValue<IXmlConfig>('sql.saveAsXml');
let saveConfig = this._configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.saveAsXml;
// if user entered config, set options
if (saveConfig) {
if (saveConfig.formatted !== undefined) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/commo
import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput';
import { UntitledTextEditorModel } from 'vs/workbench/services/untitled/common/untitledTextEditorModel';
import { mixin } from 'vs/base/common/objects';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';

const defaults: INewSqlEditorOptions = {
open: true
Expand Down Expand Up @@ -55,7 +56,7 @@ export class QueryEditorService implements IQueryEditorService {
let untitledEditorModel = await fileInput.resolve() as UntitledTextEditorModel;
if (options.initalContent) {
untitledEditorModel.textEditorModel.setValue(options.initalContent);
if (options.dirty === false || (options.dirty === undefined && !this._configurationService.getValue<boolean>('sql.promptToSaveGeneratedFiles'))) {
if (options.dirty === false || (options.dirty === undefined && !this._configurationService.getValue<IQueryEditorConfiguration>('queryEditor').promptToSaveGeneratedFiles)) {
untitledEditorModel.setDirty(false);
}
}
Expand Down

0 comments on commit 286c021

Please sign in to comment.