Open
Description
Prerequisites
- I have written a descriptive issue title.
- I have searched all 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
With the code (note two spaces between )
and {
on line 7):
It "should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
When selecting to Format Document, results in:
It
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
When updating the code to include two spaces between -ForEach
and @(
:
It "should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
It correctly formats:
It "should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
And here's where it gets weird... When changing to three or more spaces on line 7:
It "should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
It does not format at all. Until... there are 2 or more spaces between -ForEach
and @{
, then it formats correctly.
Compounding the issue, if you remove the It
, the formatting works correctly.
"should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
Formats to:
"should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
Finally: When run through Invoke-Formatter
in the integrated terminal, formatting occurs as expected:
PS /Users/coryknox/git/chocolatey/ctk/16_engtasks_1510> Invoke-Formatter @'
>> It "should create applications in Intune (<_>)" -ForEach @(
>> $Packages
>> @{
>> Name = 'installpackage'
>> Version = '1.0.0'
>> }
>> ) {
>> $Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
>> }
>> '@
It "should create applications in Intune (<_>)" -ForEach @(
$Packages
@{
Name = 'installpackage'
Version = '1.0.0'
}
) {
$Output.Lines | Should -Contain "Application created in Intune: $_ ($" -Because $Output.String
}
PowerShell Version
�[32;1mName Value�[0m
�[32;1m---- -----�[0m
PSVersion 7.2.3
PSEdition Core
GitCommitId 7.2.3
OS Darwin 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visual Studio Code Version
1.67.0-insider
ed2619e11b68bec43b788486230b0c2afeb4672d
x64
Extension Version
ms-vscode.powershell@2021.12.0
ms-vscode.powershell-preview@2022.4.3
TylerLeonhardt.vscode-inline-values-powershell@0.0.5
Steps to Reproduce
See Summary above
Visuals
vscode.mp4
Logs
No response