Skip to content

[ScriptAnalyzer Issue] Unexpected string with powershell.codeFormatting.whitespaceBetweenParameters enabled #5140

Open
@DarkLite1

Description

@DarkLite1

Prerequisites

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

Summary

When I enable the setting "powershell.codeFormatting.whitespaceBetweenParameters", a part of my code is deleted and replaced with the string "Co".

PowerShell Version

Name                           Value
----                           -----
PSVersion                      7.4.6
PSEdition                      Core
GitCommitId                    7.4.6
OS                             Microsoft Windows 10.0.20348
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          : 2025.0.0
InstanceId       : 322bff36-44ec-4947-8657-cb94383fe5d6
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.96.4
cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba
x64

Extension Version

ms-vscode.powershell@2025.0.0

Steps to Reproduce

Enable the setting "powershell.codeFormatting.whitespaceBetweenParameters":

workspace.json

{
	"folders": [
		{ "path": "T:/Test/PowerShell" },
		{ "path": "C:/Program Files/PowerShell/Modules" }
	],
	"settings": {
		"powershell.cwd": "PowerShell",
		"editor.wordWrap": "wordWrapColumn",
		"powershell.codeFormatting.autoCorrectAliases": true,
		"powershell.codeFormatting.avoidSemicolonsAsLineTerminators": true,
		"powershell.codeFormatting.pipelineIndentationStyle": "IncreaseIndentationForFirstPipeline",
		"powershell.codeFormatting.trimWhitespaceAroundPipe": true,
		"powershell.codeFormatting.useConstantStrings": true,
		"powershell.codeFormatting.useCorrectCasing": true,
		"powershell.codeFormatting.whitespaceBetweenParameters": true # ENABLE TO SEE IT
	}
}

Testie.ps1

Describe 'describe something' {
    Context 'do something in context' {
        It 'to the test' {
            # test something
        }
    }  -Tag test # double space before '-Tag'
}

Now press "SHIFT + ALT + F" and see the new broken code:

Describe 'describe something' {
    Co-Tag test # double space before '-Tag'
}

When the setting "powershell.codeFormatting.whitespaceBetweenParameters" is false, the issue isn't happening.

Visuals

From:

Image

To:

Image

Logs

No response

Metadata

Metadata

Assignees

Labels

Area-Script AnalysisIssue-BugA bug to squash.Pending: ExternalThis issue is not fixed here, it is fixed in a dependent repo such as PowerShell,PSScriptAnalyzer

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions