Skip to content

Add getEnvironmentVariables and onDidEnvironmentVariablesChange to IExtensionApi #15112

Description

For #15106, I'll be adding PYTHONPATH to the LS config message, like we do the actual path to the interpreter. But, our plan is to move the client out of this extension and into Pylance (similar to how pyright is run) to reduce release friction (among other benefits in abstracting to the LSP conn). This will mean that there's no way to fetch PYTHONPATH anymore as it's effectively out-of-proc.

Similarly to the addition of getExecutionDetails and onDidChangeExecutionDetails, I'd like to have getEnvironmentVariables and onDidEnvironmentVariablesChange available to other extensions.

The interface for the environment variables is pretty small; just the event and the function that returns a Record of the environment variables. This API is already fast (cached per workspace, but really only a file read).

Activity

  1. added
    area-intellisenseLSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc.
    and removed
    triage-neededNeeds assignment to the proper sub-team
    on Jan 11, 2021
  2. added
    needs spikeLabel for issues that need investigation before they can be worked on.
    and removed on Mar 10, 2021
  3. karrtikr commented on Oct 13, 2022

    @karrtikr

    I have decided that getting activated environment variables for a particular environment and workspace should be a separate API than this, as that seems to me like overloading the same API.

    FYI Karthik Nadig (@karthiknadig) as you described this as an issue here: https://github.com/microsoft/vscode-python/wiki/Proposed-Environment-APIs#request-for-getenvironmentvariables-and-ondidchangegetenvironmentvariables

  4. added
    needs PRReady to be worked on
    and removed
    needs spikeLabel for issues that need investigation before they can be worked on.
    on Oct 18, 2022
  5. locked as resolved and limited conversation to collaborators on Nov 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area-environmentsFeatures relating to handling interpreter environmentsarea-intellisenseLSP-related functionality: auto-complete, docstrings, navigation, refactoring, etc.feature-requestRequest for new features or functionalityneeds PRReady to be worked onon-testplanAdded to test plan

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions