PowerShell / vscode-powershell

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

Formatting code with 2 spaces after a parenthesis, eats up all the code #4866

Open aetonsi opened 11 months ago

aetonsi commented 11 months ago

Prerequisites

Summary

if you try to format a code that has a multiline parenthesis, and 2 spaces before the first command argument after the closing parenthesis, the code disappears from the 3 character of the first line, to the argument that follows the double space.

PowerShell Version

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

Name             : Visual Studio Code Host
Version          : 2023.8.0
InstanceId       : 8afbe18b-7cbc-4fe9-b17d-ed231278a68a
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

Visual Studio Code Version

1.85.1
0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
x64

Extension Version

ms-vscode.powershell@2023.8.0

Steps to Reproduce

try to format this (note the TWO spaces before -RepeatHeader):

$running | Format-Table -Property (
    'id',
    'name'
)  -RepeatHeader -AutoSize -Wrap

it becomes:

$r-RepeatHeader -AutoSize -Wrap

Visuals

https://github.com/PowerShell/vscode-powershell/assets/18366087/1297308d-59d8-49e4-acbb-5542d711d899

Logs

No response

aetonsi commented 11 months ago

i've seen this https://github.com/PowerShell/vscode-powershell/issues/3947 issue but mine is not related to an "it" block nor to indentation..

JustinGrote commented 10 months ago

I can confirm that I can reproduce this and it doesn't appear to be a bug with ScriptAnalyzer as Invoke-Formatter works as expected.

ArieHein commented 1 month ago

Cant reproduce. PS Version 7.4.5 VS 1.94.0 vscode.powershell 2024.2.2