Skip to content

Detect which plugins are manually installed by not listed in .gitpod.yml #13092

@andreafalzetti

Description

@andreafalzetti

Create a service to analyze which plugins were manually installed by the user and not listed in .gitpod.yml - this will be used in a follow-up issue to automatically install them.

There are different ways to detect installed plugins:

  1. We can do it by checking the folders inside /workspace/.config/(JetBrains|JetBrains-latest)/RemoteDev-<ID_CODE>/_workspace_<REPOSITORY_NAME>/plugins, and compare this list of folders name against the plugins listed in .gitpod.yml.
  2. Using SDK APIs to list installed plugins and MessageBus events to be notified when a new plugin is installed

The ideal solution (to be validated):

  • Extend the YAML PSI model to create a "Gitpod YAML PSI model" able to comprehend the semantics of the .gitpod.yml and easily interact with the Gitpod config (e.s. Add plugin X, Remove plugin X).

Examples:

Metadata

Metadata

Assignees

No one assigned

    Labels

    aspect: user config driftGitpod UX ephemerality where users mutate their environment but forget to update their configurationeditor: jetbrainsmeta: staleThis issue/PR is stale and will be closed soonteam: IDE

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions