PowerShell / vscode-powershell

Provides PowerShell language and debugging support for Visual Studio Code
https://marketplace.visualstudio.com/items/ms-vscode.PowerShell
MIT License
1.69k stars 479 forks source link

Integrated Terminal uses deprecated shellArgs #3382

Closed MJECloud closed 3 years ago

MJECloud commented 3 years ago

System Details

### Operating system: Windows 10 (10.0.19043.985)
### VSCode version: 1.57.0-insider 541a5d4fa70ab3095f23b28b88914e1f6a8f65c4 x64

### VSCode extensions:
CoenraadS.bracket-pair-colorizer-2@0.2.0
DotJoshJohnson.xml@2.5.1
eamodio.gitlens@11.4.1
GitHub.vscode-pull-request-github@0.26.0
GOB.gob-tools@1.0.0
mbecloud.cloudfunctions@0.9.0
miguelsolorio.fluent-icons@0.0.11       
ms-azure-devops.azure-pipelines@1.183.0       
ms-azuretools.vscode-azurefunctions@1.4.0     
ms-azuretools.vscode-azureresourcegroups@0.4.0
ms-azuretools.vscode-azurestorage@0.12.0      
ms-azuretools.vscode-docker@1.13.0
ms-azuretools.vscode-logicapps@1.0.12
ms-dotnettools.csharp@1.23.12
ms-dotnettools.vscode-dotnet-runtime@1.1.0    
ms-dynamics-smb.al@7.1.453917
ms-vscode-remote.remote-containers@0.180.0    
ms-vscode-remote.remote-ssh@0.65.6
ms-vscode-remote.remote-ssh-edit@0.65.6       
ms-vscode-remote.remote-wsl@0.56.3
ms-vscode-remote.vscode-remote-extensionpack@0.21.0
ms-vscode.azure-account@0.9.8
ms-vscode.powershell-preview@2021.5.0
ms-vsliveshare.vsliveshare@1.0.4272
msazurermtools.azurerm-vscode-tools@0.15.1
streetsidesoftware.code-spell-checker@1.10.2
streetsidesoftware.code-spell-checker-german@0.1.8
TylerLeonhardt.vscode-inline-values-powershell@0.0.5
vscode-icons-team.vscode-icons@11.4.0
waldo.crs-al-language-extension@1.4.9
yzhang.markdown-all-in-one@3.4.0

### PSES version: 2.4.2.0

### PowerShell version:

Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Issue Description

After the integrated terminal starts up i get this message: image

When i click on Migrate it makes the following changes to VS Code settings. image

But this setting is also deprecated: image

Expected Behaviour

At startup of the integrated terminal there is no messagebox saying it using deprecated settings.

Actual Behaviour

At startup of the integrated terminal a messagebox shows up saying it using deprecated settings.

andyleejordan commented 3 years ago

Thanks for the bug report! Looks like an upstream VS Code change we'll have to deal with.

andyleejordan commented 3 years ago

@MJECloud I am having trouble replicating this. Are you sure it was the integrated console from the extension (and not just a pwsh console), and that it reproduced with nothing configured in settings.json?

andyleejordan commented 3 years ago

As far as I can tell, this is not from the extension's integrated console. I admit the name is a bit confusing. We (the PowerShell extension) do start a terminal we call the integratedConsole, and it is an "integrated terminal" in VS Code, as they call all terminals hosted in the VS Code app "integrated terminals." However, the settings in your report (like terminal.integrated.shell.windows) are for the VS Code integrated terminals (one set for each OS: Windows, Linux, and macOS such that users can sync and customize them independently). The PowerShell extensions "integrated console" integrated terminal does not by default add any settings to settings.json and therefore I don't believe is what's triggering this deprecation message.

I read through this long issue https://github.com/microsoft/vscode/issues/123066 and Daniel wrote some very good info on this topic.

If you can give me a repro that shows the extension being the root cause, I'll try to fix it, but I can't repro it locally so I can't fix it.

MJECloud commented 3 years ago

@andschwa yeah, i'm pretty sure it was the integrated console. The message always showed up, when starting the terminal from the vscode extension.

But it looks like the message disappeared with a new version of the insiders build. Before submitting the issue, I cleaned my settings.json file of deprecations.

Otherwise it seems that the issue can be closed. Thank you for digging into that! :)