PowerShell / PowerShell/vscode-powershell
Changing culture settings is not taken into account in the PowerShell Extension's PowerShell instance
Open
@andyleejordan is already working on this.
Since Oct 11, 2023.
Issue-Bug
- Dominant language
- TypeScript
- Stars
- 1.9k
- Forks
- 547
- PR merge metrics
- No merged PRs in 30d
Description
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
Changing the culture's settings such as the time format has no effect in the PowerShell Extension:
PowerShell Version
PSVersion 7.3.7
PSEdition Core
GitCommitId 7.3.7
OS Microsoft Windows 10.0.22621
Platform Win32NT
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.82.2
abd2f3db4bdb28f9e95536dfa84d8479f1eb312d
x64
Extension Version
ms-vscode.powershell@2023.9.4
TylerLeonhardt.vscode-inline-values-powershell@0.0.7
Steps to Reproduce
From the PowerShell Extension's PowerShell prompt, run the following script:
# derived from https://github.com/PowerShell/PowerShell/issues/19536#issuecomment-1515140128
# Save the original culture.
$global:originalculture = [cultureinfo]::CurrentCulture
# Temporarily replace it with a read/write copy.
[cultureinfo]::CurrentCulture = [cultureinfo] $global:originalculture.Name
# Modify the LongTimePattern format to include milliseconds.
[cultureinfo]::CurrentCulture.DateTimeFormat.LongTimePattern += ([cultureinfo]::CurrentCulture.NumberFormat.CurrencyDecimalSeparator + 'fff')
This has no effect to e.g. the output from Get-Date:
PS> Set-LongTimePatternToIncludeMilliseconds.ps1
PS> Get-Date
Saturday, September 30, 2023 12:23:05
Whereas the result is correct in a "normal" PowerShell instance:
PS> Set-LongTimePatternToIncludeMilliseconds.ps1
PS> get-date
Saturday, September 30, 2023 12:24:17.297
Visuals
No response
Logs
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.