Skip to content

Render uses of deprecated symbols聽#33093

Description

@mjbvz

TypeScript Version: 3.6.0-rc

Search Terms:

  • diagnostics
  • errors
  • suggestions
  • suggestion diagnostics
  • deprecated

Feature request
VS Code recently added special for special rendering of error spans for deprecated symbols: microsoft/vscode#56694 These are rendered as strike out in the editor

We would like the TypeScript server to also generate suggestion diagnostics for uses of deprecated symbols:

/**
 * @deprecated
 */
function foo() {}

foo() /* Call to `foo` should rendered with a strike out*/

Proposed API change
This feature is broadly similar to how TypeScript supports rendering unused diagnostics. Unused diagnostics are indicated by a reportsUnnecessary field on the diagnostic.

To support deprecated diagnostics as well, we could add a new reportsDeprecated field

[Trace  - 2:56:06 PM] <semantic> Event received: suggestionDiag (0).
Data: {
    "file": "/Users/matb/projects/san/index.ts",
    "diagnostics": [
        {
            "start": {
                "line": 6,
                "offset": 10
            },
            "end": {
                "line": 6,
                "offset": 13
            },
            "text": "'foo' is marked deprecated.",
            "code": 6133,
            "category": "suggestion",
            "reportsDeprecated": true
        }
    ]
}

VS Code would provide the support for enabling/disabling deprecated diagnostics; TS Server just needs to return this information to us

Related Issues:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions