提交 5010af11 编写于 作者: M Matt Bierner

Hide infer type suggestions when using broken versions of ts

Fixes #64395
上级 f52f29d6
......@@ -266,7 +266,17 @@ export default class TypeScriptServiceClientHost extends Disposable {
diagnostics: Proto.Diagnostic[],
source: string
): (vscode.Diagnostic & { reportUnnecessary: any })[] {
return diagnostics.map(tsDiag => this.tsDiagnosticToVsDiagnostic(tsDiag, source));
return diagnostics
.filter(tsDiag => {
// See https://github.com/Microsoft/TypeScript/issues/28702
// The infer type suggestions are being returned even when no code action is available.
// Hide these on broken versions of TS because showing them currently is very confusing.
if (tsDiag.code === 7044) {
return !(this.client.apiVersion.gte(API.v320) && this.client.apiVersion.lt(API.v330));
}
return true;
})
.map(tsDiag => this.tsDiagnosticToVsDiagnostic(tsDiag, source));
}
private tsDiagnosticToVsDiagnostic(diagnostic: Proto.Diagnostic, source: string): vscode.Diagnostic & { reportUnnecessary: any } {
......
......@@ -33,6 +33,7 @@ export default class API {
public static readonly v310 = API.fromSimpleString('3.1.0');
public static readonly v314 = API.fromSimpleString('3.1.4');
public static readonly v320 = API.fromSimpleString('3.2.0');
public static readonly v330 = API.fromSimpleString('3.3.0');
public static fromVersionString(versionString: string): API {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册