Skip to content

TS Version Selector for Multiroot Workspaces #30262

@mjbvz

Description

@mjbvz

Question

How should the TS version work in multi root workspaces?

You can currently select between the workspace version of TS or from the bundled / global version. In the multiroot world, we plan on only starting a single TSserver instance but what version options should be shown in these cases

Startup Scenarios

  1. Two+ workspaces with no tsdk settings

    Proposed Version Suggestions:
    - Bundled TS version

  2. Two+ workspaces with user tsdk settings that points to an absolute path

    Proposed Version Suggestions:
    - TS at the absolute path from the tsdk

  3. Two+ workspaces with user tsdk settings that points to a relative path

    Proposed Version Suggestions:
    - For each workspace, check if the tsdk can be resolved relative to the workspace. Include in suggestions if it does. Filter out duplicate TS versions. Pick first as default.

  4. Two+ workspaces where one has a tsdk setting in the workspace settings

    Proposed Version Suggestions:
    - Bundled TS version (default)
    - Version from tsdk from the workspace

  5. Two+ workspaces where multiple workspaces have tsdk settings in their workspace settings

    Proposed Version Suggestions:
    - Bundled TS version (default)
    - For each workspace, check if the tsdk can be resolved relative to that workspace. Include in suggestions if it does. Filter out duplicate TS versions

  6. Two+ workspaces where one or more workspaces have tsdk settings in their workspace settings and the user has an absolute path tsdk setting

    Proposed Version Suggestions:
    - TSDK from absolute user path (default)
    - For each workspace, check if the tsdk can be resolved relative to that workspace. Include in suggestions if it does. Filter out duplicate TS versions

  7. Two+ workspaces where one or more workspaces have tsdk settings in their workspace settings and the user has relative path tsdk setting

    Proposed Version Suggestions:
    - For each workspace, check both the workspace tsdk and the user tsdk. Include these in suggestions if they can be resolved. Filter out duplicate TS versions. Pick first version from the user tsdk setting as the default.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions