diff --git a/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.ts b/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.ts index f5c0828bf5f3d5efdcd0be7c7e296da4de079018..e86e00ffc4e4b1b69f4eba4556207bbd46eada9c 100644 --- a/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.ts +++ b/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.ts @@ -259,6 +259,9 @@ export abstract class BaseConfigurationResolverService extends AbstractVariableR if (info.default) { inputOptions.value = info.default; } + if (info.password) { + inputOptions.password = info.password; + } return this.quickInputService.input(inputOptions).then(resolvedInput => { return resolvedInput; }); diff --git a/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts b/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts index 3c74d925a119c8835562f06292c2dcdcc19b47de..8c3a5694be0ae1ef714e2d2a2ecff674951174df 100644 --- a/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts +++ b/src/vs/workbench/services/configurationResolver/common/configurationResolver.ts @@ -49,6 +49,7 @@ export interface PromptStringInputInfo { type: 'promptString'; description: string; default?: string; + password?: boolean; } export interface PickStringInputInfo { diff --git a/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.ts b/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.ts index bc2ba69de5c28588f68ae8d8253613aa4579b306..6350d247915cbd4968b589230b124d80705d9073 100644 --- a/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.ts +++ b/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.ts @@ -44,6 +44,10 @@ export const inputsSchema: IJSONSchema = { type: 'string', description: defaultDescription }, + password: { + type: 'boolean', + description: nls.localize('JsonSchema.input.password', "Set to true to show a password prompt that will not show the typed value."), + }, } }, { diff --git a/src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts b/src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts index f8ece9854b748bd7a1dbfa0ca0599c7cffe1cae5..5f4b1cbb52a2ebafe48a98cd2bdf4a60a82a9b28 100644 --- a/src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts +++ b/src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts @@ -599,7 +599,8 @@ class MockInputsConfigurationService extends TestConfigurationService { id: 'input3', type: 'promptString', description: 'Enterinput3', - default: 'default input3' + default: 'default input3', + password: true }, { id: 'input4',