diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index 1ea08991..da5e4207 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -181,6 +181,7 @@ export class DiagnosticsAdapter extends Adapter { } const markers = diagnostics .reduce((p, c) => c.concat(p), []) + .filter(d => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1) .map(d => this._convertDiagnostics(resource, d)); monaco.editor.setModelMarkers(monaco.editor.getModel(resource), this._selector, markers); @@ -201,7 +202,8 @@ export class DiagnosticsAdapter extends Adapter { endColumn, message: flattenDiagnosticMessageText(diag.messageText, '\n'), code: diag.code.toString(), - relatedInformation: this._convertRelatedInformation(resource, diag.relatedInformation) + tags: diag.reportsUnnecessary ? [monaco.MarkerTag.Unnecessary] : [], + relatedInformation: this._convertRelatedInformation(resource, diag.relatedInformation), }; } diff --git a/src/monaco.d.ts b/src/monaco.d.ts index 8aa58804..7d50e7ab 100644 --- a/src/monaco.d.ts +++ b/src/monaco.d.ts @@ -129,6 +129,7 @@ declare module monaco.languages.typescript { noSemanticValidation?: boolean; noSyntaxValidation?: boolean; noSuggestionDiagnostics?: boolean; + diagnosticCodesToIgnore?: number[]; } export interface LanguageServiceDefaults {