@@ -31,6 +31,7 @@ export interface QuickPickParameters<T extends QuickPickItem> {
3131 placeholder : string ;
3232 buttons ?: QuickInputButton [ ] ;
3333 canSelectMany : boolean ;
34+ ignoreFocusOut ?: boolean ;
3435 shouldResume : ( ) => Thenable < boolean > ;
3536 onValueChange ?: ( input : QuickPick < T > ) => Thenable < void > ;
3637 onSelectionChange ?: ( input : QuickPick < T > ) => Thenable < void > ;
@@ -65,6 +66,7 @@ export class MultiStepInput {
6566 shouldResume,
6667 onValueChange,
6768 onSelectionChange,
69+ ignoreFocusOut : ignoreFocusout ,
6870 } : TParameters ) {
6971 const disposables : Disposable [ ] = [ ] ;
7072 try {
@@ -83,6 +85,7 @@ export class MultiStepInput {
8385 input . selectedItems = activeItems ;
8486 }
8587 input . buttons = [ ...( this . steps . length > 1 ? [ QuickInputButtons . Back ] : [ ] ) , ...( buttons || [ ] ) ] ;
88+ input . ignoreFocusOut = ignoreFocusout ?? false ;
8689 disposables . push (
8790 input . onDidTriggerButton ( item => {
8891 if ( item === QuickInputButtons . Back ) reject ( InputFlowAction . back ) ;
@@ -126,6 +129,7 @@ export class MultiStepInput {
126129 shouldResume,
127130 placeHolder,
128131 password,
132+ ignoreFocusOut,
129133 } : TParameters ) : Promise < string | ( TParameters extends { buttons : any [ ] } ? QuickInputButton : string ) > {
130134 const disposables : Disposable [ ] = [ ] ;
131135 try {
@@ -138,6 +142,7 @@ export class MultiStepInput {
138142 input . totalSteps = totalSteps ;
139143 input . value = value || '' ;
140144 input . prompt = prompt ;
145+ input . ignoreFocusOut = ignoreFocusOut ?? false ;
141146 input . buttons = [ ...( this . steps . length > 1 ? [ QuickInputButtons . Back ] : [ ] ) , ...( buttons || [ ] ) ] ;
142147 let validating = validateInput ( '' ) ;
143148 disposables . push (
0 commit comments