Skip to content

Hashtable BareWord key highlighting changes with presence of inline comment #219

@liamjpeters

Description

@liamjpeters

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

The syntax highlighting of a BareWord key that is followed by an inline comment in a Hashtable is different in a new unsaved editor vs when it is saved.

Before the file is saved:

Image

After the file is saved:

Image

Removing the inline comment (re-adding the inline comment goes back to how it is above):

Image

I would expect the keys to be consistently highlighted, regardless of a following inline comment or not.

I'm using the Default Dark Modern theme - in case that's relevant.

Edit: I noticed while filling in this issue template, that GitHub's syntax highlighting also does the same thing!

Image

The two key's are subtly different colours

PowerShell Version

Name                           Value
----                           -----
PSVersion                      7.4.12
PSEdition                      Core
GitCommitId                    7.4.12
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          : 2025.2.0
InstanceId       : 703b8fce-f163-4396-8543-54cfa0a5ba7c
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.104.2
e3a5acfb517a443235981655413d566533107e92
x64

Extension Version

ms-vscode.powershell@2025.2.0

Steps to Reproduce

Open a new file and paste in:

@{
    Key1 <#Sneakycomment#> = "Value1"
    Key2 = "Value2"
}

Note the highlighting.

Save the file.

Note the highlighting changes.

Remove the inline comment.

Visuals

No response

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions