@@ -31,6 +31,7 @@ export interface QuickPickParameters<T extends QuickPickItem> {
31
31
placeholder : string ;
32
32
buttons ?: QuickInputButton [ ] ;
33
33
canSelectMany : boolean ;
34
+ ignoreFocusOut ?: boolean ;
34
35
shouldResume : ( ) => Thenable < boolean > ;
35
36
onValueChange ?: ( input : QuickPick < T > ) => Thenable < void > ;
36
37
onSelectionChange ?: ( input : QuickPick < T > ) => Thenable < void > ;
@@ -65,6 +66,7 @@ export class MultiStepInput {
65
66
shouldResume,
66
67
onValueChange,
67
68
onSelectionChange,
69
+ ignoreFocusOut : ignoreFocusout ,
68
70
} : TParameters ) {
69
71
const disposables : Disposable [ ] = [ ] ;
70
72
try {
@@ -83,6 +85,7 @@ export class MultiStepInput {
83
85
input . selectedItems = activeItems ;
84
86
}
85
87
input . buttons = [ ...( this . steps . length > 1 ? [ QuickInputButtons . Back ] : [ ] ) , ...( buttons || [ ] ) ] ;
88
+ input . ignoreFocusOut = ignoreFocusout ?? false ;
86
89
disposables . push (
87
90
input . onDidTriggerButton ( item => {
88
91
if ( item === QuickInputButtons . Back ) reject ( InputFlowAction . back ) ;
@@ -126,6 +129,7 @@ export class MultiStepInput {
126
129
shouldResume,
127
130
placeHolder,
128
131
password,
132
+ ignoreFocusOut,
129
133
} : TParameters ) : Promise < string | ( TParameters extends { buttons : any [ ] } ? QuickInputButton : string ) > {
130
134
const disposables : Disposable [ ] = [ ] ;
131
135
try {
@@ -138,6 +142,7 @@ export class MultiStepInput {
138
142
input . totalSteps = totalSteps ;
139
143
input . value = value || '' ;
140
144
input . prompt = prompt ;
145
+ input . ignoreFocusOut = ignoreFocusOut ?? false ;
141
146
input . buttons = [ ...( this . steps . length > 1 ? [ QuickInputButtons . Back ] : [ ] ) , ...( buttons || [ ] ) ] ;
142
147
let validating = validateInput ( '' ) ;
143
148
disposables . push (
0 commit comments