Skip to content

Releases: golang/vscode-go

Release v0.59.0

Release v0.59.0 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 20 Oct 15:48

This is the pre-release version of v0.60.0.

Date: 2026-10-20

Full Changelog: v0.58.0-rc.1...v0.59.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.60.0

v0.59.0 is a pre-release version identical to the official release v0.58.0, incorporating all the same bug fixes and improvements. This may include additional, experimental features that are not yet ready for general release. These features are still under development and may be subject to change or removal.

See release https://github.com/golang/vscode-go/releases/tag/v0.58.0 for details.

Release v0.58.0

Choose a tag to compare

@gopherbot gopherbot released this 20 Oct 14:46

Date: 2026-10-20

Full Changelog: v0.56.1...v0.58.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.58.0

  • vscode-go now supports v3.18 of the Language Server Protocol.
  • Improved diagnostic deduplication across gopls, build, vet, and linters (#3511):
    • Deduplication now checks start position (line and column), and severity level.
    • Diagnostics on different columns of the same line can now coexist.
  • The "Go: Generate Interface Stubs" command (go.impl.cursor) is now powered by gopls by default using interactive refactoring. Place your cursor inside the target type declaration (e.g. type Foo struct), and gopls will prompt for the interface to implement and insert the method stubs after the type declaration.
    The previous implementation remains available via the "Go: Generate Interface Stubs (legacy)" command (go.impl.cursor.legacy), which inserts method stubs directly at the cursor location.
  • The "Go: Add Tags to Struct Fields" and "Go: Remove Tags From Struct Fields" commands now prompt for the tags via gopls unless tags or options are configured in go.addTags or go.removeTags. The default values of go.addTags (previously json tags with omitempty) have been removed, and go.removeTags no longer removes all tags by default. If promptForTags is true, the settings are ignored and gopls always prompts. (#4070)
  • Replaced the wmic-based Windows process picker for attach debugging with the native @vscode/win32-app-container-tokens module, as the wmic tool itself is deprecated on Windows (#3687).
  • Language client trace logging is now integrated with VS Code's LogOutputChannel log level system. To view verbose trace logs in the gopls output channel, in addition to setting "go.trace.server": "verbose", you must also set the gopls channel log level to Trace (using the Developer: Set Log Level... command or channel settings).

Release v0.58.0-rc.1

Release v0.58.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 19 Oct 15:34

Date: 2026-10-19

Full Changelog: v0.56.1...v0.58.0-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.58.0

  • How to test release candidate:
    • Download the .vsix file from this Releases page.
    • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
    • If prompted, reload VS Code.

Release v0.56.1

Choose a tag to compare

@gopherbot gopherbot released this 27 Aug 15:18

Release v0.56.1-rc.1

Release v0.56.1-rc.1 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 26 Aug 14:36

Date: 2026-08-26

Full Changelog: v0.56.0...v0.56.1-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.56.1

  • How to test release candidate:
    • Download the .vsix file from this Releases page.
    • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
    • If prompted, reload VS Code.

Release v0.57.2

Release v0.57.2 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 18 Aug 20:27

This is the pre-release version of v0.58.0.

Date: 2026-08-18

Full Changelog: v0.56.0-rc.1...v0.57.2
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.58.0

  • vscode-go now supports v3.18 of the Language Server Protocol.
  • Improved diagnostic deduplication across gopls, build, vet, and linters (#3511):
    • Deduplication now checks start position (line and column), and severity level.
    • Diagnostics on different columns of the same line can now coexist.
  • The "Go: Generate Interface Stubs" command (go.impl.cursor) is now powered by gopls by default using interactive refactoring. Place your cursor inside the target type declaration (e.g. type Foo struct), and gopls will prompt for the interface to implement and insert the method stubs after the type declaration.
    The previous implementation remains available via the "Go: Generate Interface Stubs (legacy)" command (go.impl.cursor.legacy), which inserts method stubs directly at the cursor location.

Release v0.57.1

Release v0.57.1 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 18 Aug 15:43

This is the pre-release version of v0.58.0.

Date: 2026-08-18

Full Changelog: v0.56.0-rc.1...v0.57.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.58.0

  • The "Go: Generate Interface Stubs" command (go.impl.cursor) is now powered by gopls by default using interactive refactoring. Place your cursor inside the target type declaration (e.g. type Foo struct), and gopls will prompt for the interface to implement and insert the method stubs after the type declaration.
    The previous implementation remains available via the "Go: Generate Interface Stubs (legacy)" command (go.impl.cursor.legacy), which inserts method stubs directly at the cursor location.
  • vscode-go now supports v3.18 of the Language Server Protocol.

Release v0.57.0

Release v0.57.0 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 16 Jul 14:37

This is the pre-release version of v0.58.0.

Date: 2026-07-16

Full Changelog: v0.56.0-rc.1...v0.57.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.58.0

v0.57.0 is a pre-release version identical to the official release v0.56.0, incorporating all the same bug fixes and improvements. This may include additional, experimental features that are not yet ready for general release. These features are still under development and may be subject to change or removal.

See release https://github.com/golang/vscode-go/releases/tag/v0.56.0 for details.

Release v0.56.0-rc.1

Release v0.56.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@gopherbot gopherbot released this 15 Jul 15:20

Date: 2026-07-15

Full Changelog: v0.54.0...v0.56.0-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.56.0

  • How to test release candidate:
    • Download the .vsix file from this Releases page.
    • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
    • If prompted, reload VS Code.

Release v0.56.0

Choose a tag to compare

@gopherbot gopherbot released this 15 Jul 19:12