PowerShell / PowerShell/vscode-powershell
PSModulePath mutated during script changes
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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