Skip to content

Bug: underscores are displayed doubled in case action labels on GoLand 2026.2 #267

Description

@quanchangnai

Describe the bug

In GoLand 2026.2, some String Manipulation case action labels display identifiers with doubled underscores, for example:

  • snake__case / camelCase instead of snake_case / camelCase
  • To snake__case instead of To snake_case
  • SCREAMING__SNAKE_CASE / camelCase instead of SCREAMING_SNAKE_CASE / camelCase
  • To SCREAMING__SNAKE_CASE instead of To SCREAMING_SNAKE_CASE

The underlying plugin metadata appears to use single underscores. In META-INF/plugin.xml from StringManipulation-9.16.0.jar, the action text is registered as single-underscore text, e.g. text="snake_case / camelCase", text="To snake_case", and text="To SCREAMING_SNAKE_CASE".

This looks like an action text / mnemonic escaping issue in the UI. I noticed a related older issue (#168) where underscores were not displayed correctly in the context menu; this may be the same escaping area showing differently in newer IDE versions.

To Reproduce

  1. Install String Manipulation 9.16.0 in GoLand 2026.2.
  2. Open Settings > Keymap, search for String, and inspect the String Manipulation actions.
  3. In the editor, open the String Manipulation popup and go to Switch Case.
  4. Observe that case names containing underscores are rendered with doubled underscores.

Expected behavior

Action labels should display single underscores, e.g. snake_case and SCREAMING_SNAKE_CASE.

Actual behavior

Action labels show doubled underscores, e.g. snake__case and SCREAMING__SNAKE_CASE.

Environment

  • IDE: GoLand 2026.2.3, build GO-262.10968.67
  • OS: macOS 26.6.2, build 25G83
  • Plugin: String Manipulation 9.16.0

Additional context

The saved plugin state also records To snake_case with a single underscore, so the problem appears to be display-only rather than a conversion behavior bug.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions