PowerShell / PowerShell/vscode-powershell
Incorrect indentation when passing a hashtable as a function argument
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.9k
- Forks
- 548
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
Formatting multi-line function calls with hashtable parameters produces incorrect indentation of the function call.
Example script:
function Dummy($ParameterObject) {
}
Dummy `
-ParameterObject @{
Property = "value"
}
After formatting, the script looks like this:
function Dummy($ParameterObject) {
}
Dummy `
-ParameterObject @{
Property = "value"
}
Notice how the indentation of the function call is off after the -ParameterObject argument.
PowerShell Version
Name Value
---- -----
PSVersion 7.4.1
PSEdition Core
GitCommitId 7.4.1
OS Microsoft Windows 10.0.22631
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 : 2024.3.1
InstanceId : b3c9ca50-9b38-4bc7-9277-50ee2615c59a
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-GB
CurrentUICulture : en-GB
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Visual Studio Code Version
1.87.2
863d2581ecda6849923a2118d93a088b0745d9d6
x64
Extension Version
ms-vscode.powershell@2024.3.1
Steps to Reproduce
- Create a new file with
.ps1extension - Paste the following snippet:
function Dummy($ParameterObject) {
}
Dummy `
-ParameterObject @{
Property = "value"
}
- Execute the
Format Documentcommand (Shift+Alt+F)
Visuals
No response
Logs
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere das Problem in einer .ps1-Datei mit dem bereitgestellten Snippet und dem Befehl Format Document. Vergleiche die erwartete und die tatsächliche Einrückung um die an -ParameterObject übergebene hashtable; die Aufgabe ist erledigt, wenn die Formatierung die im Bericht gezeigte verschachtelte Einrückung beibehält. In der Meldung wird keine Quelldatei und kein Test-Einstiegspunkt angegeben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- powershell, typescript, vscode
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100