Skip to content

TSServer: improve how languageServiceDisabled is communicated to the tool #11888

Description

@dbaeumer

TypeScript Version: 2.0.6

In TS 2.0.6 the server now disables language service feature if the project to handle is too big in size. However this fact is currently communicated by throwing when a request is sent to a disabled language service. Detecting this error currently needs to parse message strings. Having an error code describing what failed in the server would ease this.

Optimally we would like to get the following flow in VS Code:

  • open a file: get a response that language features are disabled for that file. VS Code could then show an indication in the UI and could disable menu actions and commands.
  • get a notification when a language service gets enabled again if the user adds for example an exclusion rule in the [tj]sconfig.json file.

I looked into using the projectInfo request to do this on the VS Code side but this is IMO unnecessary more complicated on the client side. We would need to:

  • keep the list of fileNames reported by projectInfo to disable features for these files.
  • for newly created files rerun projectInfo and merge the result with previous results.
  • rerun projectInfo requests if the [tj]sconfig.json file changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptFixedA PR has been merged for this issueVS Code TrackedThere is a VS Code equivalent to this issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions