Fix access to query editor configuration (#11321)

* fix access to query editor configuration

* fix configuration type

* fix setting type
This commit is contained in:
Anthony Dresser
2020-07-13 13:05:36 -07:00
committed by GitHub
parent ff979f90d1
commit 286c021df9
6 changed files with 14 additions and 23 deletions

View File

@@ -13,7 +13,7 @@ export interface IQueryEditorConfiguration {
readonly encoding: string readonly encoding: string
}, },
readonly saveAsXml: { readonly saveAsXml: {
readonly formatted: string, readonly formatted: boolean,
readonly encoding: string readonly encoding: string
}, },
readonly streaming: boolean, readonly streaming: boolean,

View File

@@ -18,6 +18,7 @@ import { ExecutionPlanOptions } from 'azdata';
import { startsWith } from 'vs/base/common/strings'; import { startsWith } from 'vs/base/common/strings';
import { IRange } from 'vs/editor/common/core/range'; import { IRange } from 'vs/editor/common/core/range';
import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput'; import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';
const MAX_SIZE = 13; const MAX_SIZE = 13;
@@ -156,7 +157,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab
})); }));
this._register(this.configurationService.onDidChangeConfiguration(e => { this._register(this.configurationService.onDidChangeConfiguration(e => {
if (e.affectedKeys.indexOf('sql.showConnectionInfoInTitle') > -1) { if (e.affectedKeys.indexOf('queryEditor') > -1) {
this._onDidChangeLabel.fire(); this._onDidChangeLabel.fire();
} }
})); }));
@@ -196,7 +197,7 @@ export abstract class QueryEditorInput extends EditorInput implements IConnectab
public get resource(): URI { return this._text.resource; } public get resource(): URI { return this._text.resource; }
public getName(longForm?: boolean): string { 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 profile = this.connectionManagementService.getConnectionProfile(this.uri);
let title = ''; let title = '';
if (this._description && this._description !== '') { if (this._description && this._description !== '') {

View File

@@ -341,7 +341,7 @@ const queryEditorConfiguration: IConfigurationNode = {
'default': 'utf-8' 'default': 'utf-8'
}, },
'queryEditor.results.saveAsXml.formatted': { '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"), 'description': localize('queryEditor.results.saveAsXml.formatted', "When true, XML output will be formatted when saving results as XML"),
'default': true 'default': true
}, },

View File

@@ -26,6 +26,7 @@ import { ILogService } from 'vs/platform/log/common/log';
import { find } from 'vs/base/common/arrays'; import { find } from 'vs/base/common/arrays';
import { IRange, Range } from 'vs/editor/common/core/range'; import { IRange, Range } from 'vs/editor/common/core/range';
import { BatchSummary, IQueryMessage, ResultSetSummary, QueryExecuteSubsetParams, CompleteBatchSummary, IResultMessage, ResultSetSubset, BatchStartSummary } from './query'; 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, * Query Runner class which handles running a query, reports the results to the content manager,
@@ -442,7 +443,7 @@ export default class QueryRunner extends Disposable {
private sendBatchTimeMessage(batchId: number, executionTime: string): void { private sendBatchTimeMessage(batchId: number, executionTime: string): void {
// get config copyRemoveNewLine option from vscode config // 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) { if (showBatchTime) {
let message: IQueryMessage = { let message: IQueryMessage = {
batchId: batchId, batchId: batchId,
@@ -538,13 +539,13 @@ export function shouldIncludeHeaders(includeHeaders: boolean, configurationServi
return includeHeaders; return includeHeaders;
} }
// else get config option from vscode config // else get config option from vscode config
includeHeaders = configurationService.getValue<boolean>('sql.copyIncludeHeaders'); includeHeaders = configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.copyIncludeHeaders;
return !!includeHeaders; return !!includeHeaders;
} }
export function shouldRemoveNewLines(configurationService: IConfigurationService): boolean { export function shouldRemoveNewLines(configurationService: IConfigurationService): boolean {
// get config copyRemoveNewLine option from vscode config // get config copyRemoveNewLine option from vscode config
let removeNewLines = configurationService.getValue<boolean>('sql.copyRemoveNewLine'); let removeNewLines = configurationService.getValue<IQueryEditorConfiguration>('queryEditor').results.copyRemoveNewLine;
return !!removeNewLines; return !!removeNewLines;
} }

View File

@@ -17,6 +17,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import { getRootPath, resolveCurrentDirectory } from 'sql/platform/common/pathUtilities'; import { getRootPath, resolveCurrentDirectory } from 'sql/platform/common/pathUtilities';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IFileDialogService, FileFilter } from 'vs/platform/dialogs/common/dialogs'; import { IFileDialogService, FileFilter } from 'vs/platform/dialogs/common/dialogs';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';
let prevSavePath: URI; let prevSavePath: URI;
@@ -32,19 +33,6 @@ export interface SaveResultsResponse {
messages?: string; messages?: string;
} }
interface ICsvConfig {
includeHeaders: boolean;
delimiter: string;
lineSeperator: string;
textIdentifier: string;
encoding: string;
}
interface IXmlConfig {
formatted: boolean;
encoding: string;
}
export enum SaveFormat { export enum SaveFormat {
CSV = 'csv', CSV = 'csv',
JSON = 'json', JSON = 'json',
@@ -199,7 +187,7 @@ export class ResultSerializer {
let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.CSV as string }; let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.CSV as string };
// get save results config from vscode config // 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 user entered config, set options
if (saveConfig) { if (saveConfig) {
if (saveConfig.includeHeaders !== undefined) { if (saveConfig.includeHeaders !== undefined) {
@@ -245,7 +233,7 @@ export class ResultSerializer {
let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.XML as string }; let saveResultsParams = <SaveResultsRequestParams>{ resultFormat: SaveFormat.XML as string };
// get save results config from vscode config // 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 user entered config, set options
if (saveConfig) { if (saveConfig) {
if (saveConfig.formatted !== undefined) { if (saveConfig.formatted !== undefined) {

View File

@@ -19,6 +19,7 @@ import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/commo
import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput'; import { UntitledTextEditorInput } from 'vs/workbench/services/untitled/common/untitledTextEditorInput';
import { UntitledTextEditorModel } from 'vs/workbench/services/untitled/common/untitledTextEditorModel'; import { UntitledTextEditorModel } from 'vs/workbench/services/untitled/common/untitledTextEditorModel';
import { mixin } from 'vs/base/common/objects'; import { mixin } from 'vs/base/common/objects';
import { IQueryEditorConfiguration } from 'sql/platform/query/common/query';
const defaults: INewSqlEditorOptions = { const defaults: INewSqlEditorOptions = {
open: true open: true
@@ -55,7 +56,7 @@ export class QueryEditorService implements IQueryEditorService {
let untitledEditorModel = await fileInput.resolve() as UntitledTextEditorModel; let untitledEditorModel = await fileInput.resolve() as UntitledTextEditorModel;
if (options.initalContent) { if (options.initalContent) {
untitledEditorModel.textEditorModel.setValue(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); untitledEditorModel.setDirty(false);
} }
} }