PowerShell / PowerShell/vscode-powershell

PSModulePath mutated during script changes

Open
#2,008 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Engine Issue-Performance
Dominant language
TypeScript
Stars
1.9k
Forks
547
PR merge metrics
No merged PRs in 30d

Description

Issue Description

PSModulePath is modified with every edit to a file.

Steps to repo

Run this in the PSIC:

$env:PSModulePath
$env:PSModulePath = "C:\Users\tyleonha\.vscode-insiders\extensions\ms-vscode.powershell-preview-2019.5.0\modules"
$env:PSModulePath

Verify it changed.

Now make a single edit to a script and check the PSModulePath once more... It should look like:

C:\Users\tyleonha\Documents\PowerShell\Modules;C:\Users\tyleonha.vscode-insiders\extensions\ms-vscode.powershell-preview-2019.5.0\modules;C:\Program Files\PowerShell\Modules;c:\program files\powershell\7-preview\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules

Apparently, the PSModulePath is updated every time you spin up a Runspace so I wonder if we're doing something like that...

Attached Logs

Follow the instructions in the README about
capturing and sending logs.

Environment Information

Visual Studio Code

Name Version
Operating System Windows_NT x64 10.0.18362
VSCode 1.35.0-insider
PowerShell Extension Version 2019.5.0

PowerShell Information

Name Value
PSVersion 7.0.0-preview.1
PSEdition Core
GitCommitId 7.0.0-preview.1
OS Microsoft Windows 10.0.18362
Platform Win32NT
PSCompatibleVersions 1.0 2.0 3.0 4.0 5.0 5.1.10032.0 6.0.0 7.0.0-preview.1
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0

Visual Studio Code Extensions

Visual Studio Code Extensions(Click to Expand)
Extension Author Version
azure-account ms-vscode 0.8.4
csharp ms-vscode 1.19.1
horizon-theme-vscode jolaleye 1.8.1
powershell-preview ms-vscode 2019.5.0
remote-containers ms-vscode-remote 0.57.0
remote-ssh ms-vscode-remote 0.41.0
remote-ssh-edit ms-vscode-remote 0.41.0
remote-ssh-explorer ms-vscode-remote 0.41.0
remote-wsl ms-vscode-remote 0.36.0
vscode-azurefunctions ms-azuretools 0.17.1
vscode-remote-extensionpack ms-vscode-remote 0.14.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in the PowerShell Integrated Console (PSIC): record PSModulePath, edit a script, and compare it again. Then trace runspace creation and initialization, since the issue notes that starting a runspace may update PSModulePath. Done means editing a script no longer unexpectedly mutates the existing PSModulePath.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell, typescript, vscode
Domain
developer-experience, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.