From 343e3141038cc043e6081cd10648a4b432f85aca Mon Sep 17 00:00:00 2001 From: Lucy Zhang Date: Mon, 15 Nov 2021 18:53:52 -0800 Subject: [PATCH] SQL Binding: Give default connection setting name (#17659) * show sqlconnectionstring in quickpick * fix duplicate sqlconnectionstring setting * add (new) * add sqlconnectionstring as default setting name * check if sqlconnectionstring already exists --- extensions/sql-database-projects/src/common/constants.ts | 1 + .../src/dialogs/addSqlBindingQuickpick.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/sql-database-projects/src/common/constants.ts b/extensions/sql-database-projects/src/common/constants.ts index 3daf3dbead..2b1fcc6849 100644 --- a/extensions/sql-database-projects/src/common/constants.ts +++ b/extensions/sql-database-projects/src/common/constants.ts @@ -508,6 +508,7 @@ export const noAzureFunctionsProjectsInWorkspace = localize('noAzureFunctionsPro export const addPackage = localize('addPackage', "Add Package"); export const createNewLocalAppSetting = localize('createNewLocalAppSetting', 'Create new local app setting'); export const createNewLocalAppSettingWithIcon = `$(add) ${createNewLocalAppSetting}`; +export const sqlConnectionStringSetting = 'SqlConnectionString'; export const valueMustNotBeEmpty = localize('valueMustNotBeEmpty', "Value must not be empty"); export const enterConnectionStringSettingName = localize('enterConnectionStringSettingName', "Enter connection string setting name"); export const enterConnectionString = localize('enterConnectionString', "Enter connection string"); diff --git a/extensions/sql-database-projects/src/dialogs/addSqlBindingQuickpick.ts b/extensions/sql-database-projects/src/dialogs/addSqlBindingQuickpick.ts index 809b3fab8d..c4e31b57b9 100644 --- a/extensions/sql-database-projects/src/dialogs/addSqlBindingQuickpick.ts +++ b/extensions/sql-database-projects/src/dialogs/addSqlBindingQuickpick.ts @@ -118,6 +118,7 @@ export async function launchAddSqlBindingQuickpick(uri: vscode.Uri | undefined, } existingSettings.unshift({ label: constants.createNewLocalAppSettingWithIcon, isCreateNew: true }); + let sqlConnectionStringSettingExists = existingSettings.find(s => s.label === constants.sqlConnectionStringSetting); while (!connectionStringSettingName) { const selectedSetting = await vscode.window.showQuickPick(existingSettings, { @@ -135,6 +136,7 @@ export async function launchAddSqlBindingQuickpick(uri: vscode.Uri | undefined, { title: constants.enterConnectionStringSettingName, ignoreFocusOut: true, + value: sqlConnectionStringSettingExists ? '' : constants.sqlConnectionStringSetting, validateInput: input => input ? undefined : constants.nameMustNotBeEmpty } ) ?? ''; @@ -210,4 +212,3 @@ export async function launchAddSqlBindingQuickpick(uri: vscode.Uri | undefined, // 6. Add sql extension package reference to project. If the reference is already there, it doesn't get added again await packageHelper.addPackageToAFProjectContainingFile(uri, constants.sqlExtensionPackageName); } -