Releases: golang/vscode-go
Release v0.53.0
This is the pre-release version of v0.54.0.
Date: 2025-12-18
Full Changelog: v0.52.0-rc.1...v0.53.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.54.0
v0.53.0 is a pre-release version identical to the official release v0.52.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.52.0 for details.
Release v0.52.1
Date: 2025-12-18
Full Changelog: v0.52.0...v0.52.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.1
Release v0.52.1-rc.1
Date: 2025-12-18
Full Changelog: v0.52.0...v0.52.1-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.1
- How to test release candidate:
- Download the
.vsixfile 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.vsixfile you downloaded. Alternatively, you can runcode --install-extension Go-latest.vsixor open the Command Palette and run the "Extensions: Install from VSIX..." command. - If prompted, reload VS Code.
- Download the
Release v0.52.0
Date: 2025-12-17
Full Changelog: v0.50.0...v0.52.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.0
Untrusted code execution in 'Restricted Mode'
To prevent accidental untrusted code execution, vscode-go no longer allows invocations of the Go CLI in untrusted workspaces.
This is CVE-2025-68120.
Changes
- Added a new field, 'compilerDetails', on the 'go.editorContextMenuCommands' setting that when set to true will show the "Go: Toggle compiler optimization details" command in the context menu.
Important
- To ensure the extension remains fully compatible and stable, the required
minimum Go version remains Go 1.23. A new notification will now be sent to help
users running older versions upgrade to Go 1.23+.
Changes
-
Tool Management Refactoring: The extension now correctly uses the tools
specified in the"go.lintTool"and"go.formatTool"settings.-
Linting: The extension will now run the linter specified in
"go.lintTool"
in addition to gopls's diagnostics. If you havestaticcheckenabled in both
"go.lintTool"andgopls, you may see duplicate diagnostics. For better
performance, we recommend using thegoplsintegration forstaticcheck.
You can learn more in thegoplsanalyzer.- To run the partial set of
staticcheckanalyzers from gopls, leave
"go.lintTool"and"gopls.ui.diagnostic.staticcheck"unset. - To run the full set of
staticcheckanalyzers from gopls, leave
"go.lintTool"unset and configure it through gopls:"gopls": { "ui.diagnostic.staticcheck": true }
- To run the
staticcheckbinary, set through"go.lintTool"and disablestaticcheckanalyzers from gopls."go.lintTool": "staticcheck", "gopls": { "ui.diagnostic.staticcheck": false }
- To run the partial set of
-
Formatting: The extension will now use the formatter specified in
"go.formatTool". We recommend usinggoplsfor formatting, as it includes
support for bothgofmtandgofumpt. For configuration details, see the
goplsformatting.- To format with
gofumptviagopls, leave"go.formatTool"unset or
"default"and configure it through gopls:"gopls": { "formatting.gofumpt": true }
- To format with
gofmt, simply leave"go.formatTool"unset or"default". - To format with
gofumptbinary, configure it through"go.formatTool""go.formatTool": "gofumpt"
- To format with
-
Fixes
-
Corrected an issue where clicking on a failing test in the Test Explorer would
open a non-existent Go file (#3853). This occurred when the test
entry point (e.g., .../foo_test.go) was in a different directory than the file
where the failure actually occurred (e.g., .../bar/bar_test.go). -
Fixed an issue where
"go.formatTool"and"go.lintTool"were not correctly
overridden by tools specified in"go.alternateTools"(#3861,
#3862). -
Resolved a problem where
staticcheckwas being installed automatically even
when it was not in use (#3898). -
Fix issue where sub test codelens runs sub test based on the cursor instead of
the codelens' position (#3908).
Release v0.52.0-rc.1
Date: 2025-12-17
Full Changelog: v0.50.0...v0.52.0-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.0
- How to test release candidate:
- Download the
.vsixfile 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.vsixfile you downloaded. Alternatively, you can runcode --install-extension Go-latest.vsixor open the Command Palette and run the "Extensions: Install from VSIX..." command. - If prompted, reload VS Code.
- Download the
Release v0.51.1
This is the pre-release version of v0.52.0.
Date: 2025-10-27
Full Changelog: v0.50.0-rc.1...v0.51.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.0
Changes
- Added a new field, 'compilerDetails', on the 'go.editorContextMenuCommands' setting that when set to true will show the "Go: Toggle compiler optimization details" command in the context menu.
Important
- To ensure the extension remains fully compatible and stable, the required
minimum Go version remains Go 1.23. A new notification will now be sent to help
users running older versions upgrade to Go 1.23+.
Changse
-
Tool Management Refactoring: The extension now correctly uses the tools
specified in the"go.lintTool"and"go.formatTool"settings.-
Linting: The extension will now run the linter specified in
"go.lintTool"
in addition to gopls's diagnostics. If you havestaticcheckenabled in both
"go.lintTool"andgopls, you may see duplicate diagnostics. For better
performance, we recommend using thegoplsintegration forstaticcheck.
You can learn more in thegoplsanalyzer.- To run the partial set of
staticcheckanalyzers from gopls, leave
"go.lintTool"and"gopls.ui.diagnostic.staticcheck"unset. - To run the full set of
staticcheckanalyzers from gopls, leave
"go.lintTool"unset and configure it through gopls:"gopls": { "ui.diagnostic.staticcheck": true }
- To run the
staticcheckbinary, set through"go.lintTool"and disablestaticcheckanalyzers from gopls."go.lintTool": "staticcheck", "gopls": { "ui.diagnostic.staticcheck": false }
- To run the partial set of
-
Formatting: The extension will now use the formatter specified in
"go.formatTool". We recommend usinggoplsfor formatting, as it includes
support for bothgofmtandgofumpt. For configuration details, see the
goplsformatting.- To format with
gofumptviagopls, leave"go.formatTool"unset or
"default"and configure it through gopls:"gopls": { "formatting.gofumpt": true }
- To format with
gofmt, simply leave"go.formatTool"unset or"default". - To format with
gofumptbinary, configure it through"go.formatTool""go.formatTool": "gofumpt"
- To format with
-
Fixes
-
Corrected an issue where clicking on a failing test in the Test Explorer would
open a non-existent Go file (#3853). This occurred when the test
entry point (e.g., .../foo_test.go) was in a different directory than the file
where the failure actually occurred (e.g., .../bar/bar_test.go). -
Fixed an issue where
"go.formatTool"and"go.lintTool"were not correctly
overridden by tools specified in"go.alternateTools"(#3861,
#3862). -
Resolved a problem where
staticcheckwas being installed automatically even
when it was not in use (#3898).
Release v0.51.0
This is the pre-release version of v0.52.0.
Date: 2025-09-04
Full Changelog: v0.50.0-rc.1...v0.51.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.52.0
v0.51.0 is a pre-release version identical to the official release v0.50.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.50.0 for details.
Release v0.50.0
Date: 2025-09-04
Full Changelog: v0.48.0...v0.50.0
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.50.0
Release v0.50.0-rc.1
Date: 2025-09-03
Full Changelog: v0.48.0...v0.50.0-rc.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.50.0
- How to test release candidate:
- Download the
.vsixfile 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.vsixfile you downloaded. Alternatively, you can runcode --install-extension Go-latest.vsixor open the Command Palette and run the "Extensions: Install from VSIX..." command. - If prompted, reload VS Code.
- Download the
Release v0.49.1
This is the pre-release version of v0.50.0.
Date: 2025-08-21
Full Changelog: v0.48.0-rc.1...v0.49.1
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.50.0