diff --git a/extensions/typescript/src/typescriptServiceClient.ts b/extensions/typescript/src/typescriptServiceClient.ts index 07030e9c616..c7f115f7008 100644 --- a/extensions/typescript/src/typescriptServiceClient.ts +++ b/extensions/typescript/src/typescriptServiceClient.ts @@ -129,6 +129,7 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient this.storagePath = storagePath; this.globalState = globalState; this.pathSeparator = path.sep; + this.lastStart = Date.now(); var p = new Promise((resolve, reject) => { this._onReady = { promise: p, resolve, reject }; @@ -643,7 +644,9 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient let startService = true; if (this.numberRestarts > 5) { let prompt: Thenable | undefined = undefined; + this.numberRestarts = 0; if (diff < 60 * 1000 /* 1 Minutes */) { + this.lastStart = Date.now(); prompt = window.showWarningMessage( localize('serverDied', 'The TypeScript language service died unexpectedly 5 times in the last 5 Minutes.'), { @@ -651,7 +654,8 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient id: MessageAction.reportIssue, isCloseAffordance: true }); - } else if (diff < 2 * 1000 /* 2 seconds */) { + } else if (diff < 10 * 1000 /* 10 seconds */) { + this.lastStart = Date.now(); startService = false; prompt = window.showErrorMessage( localize('serverDiedAfterStart', 'The TypeScript language service died 5 times right after it got started. The service will not be restarted.'),