vscode-powershell icon indicating copy to clipboard operation
vscode-powershell copied to clipboard

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

Open aetonsi opened this issue 1 year ago • 3 comments

Prerequisites

  • [X] I have written a descriptive issue title.
  • [X] I have searched all open and closed issues to ensure it has not already been reported.
  • [X] I have read the troubleshooting guide.
  • [X] I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
  • [X] I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
  • [X] If this is a security issue, I have read the security issue reporting guidance.

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

[email protected]

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 avatar Dec 18 '23 10:12 aetonsi

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..

aetonsi avatar Dec 18 '23 10:12 aetonsi

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.

JustinGrote avatar Dec 27 '23 22:12 JustinGrote