diff --git a/src/vs/workbench/api/node/mainThreadSaveParticipant.ts b/src/vs/workbench/api/node/mainThreadSaveParticipant.ts index 2eab8be139a..5e1f28bbf11 100644 --- a/src/vs/workbench/api/node/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/node/mainThreadSaveParticipant.ts @@ -178,12 +178,15 @@ class ExtHostSaveParticipant implements INamedSaveParticpant { } participate(editorModel: ITextFileEditorModel, env: { reason: SaveReason }): TPromise { - return this._proxy.$participateInSave(editorModel.getResource(), env.reason).then(values => { - for (const success of values) { - if (!success) { - return TPromise.wrapError('listener failed'); + return new TPromise((resolve, reject) => { + setTimeout(reject, 1750); + this._proxy.$participateInSave(editorModel.getResource(), env.reason).then(values => { + for (const success of values) { + if (!success) { + return TPromise.wrapError('listener failed'); + } } - } + }).then(resolve, reject); }); } }