Releases: golang/vscode-go
Release 0.40.0
v0.40.0 - 16 Nov, 2023
This extension uses Go Telemetry to gather insights about the performance and stability of the extension and the language server it employs.
By default, Telemetry uploading is disabled, but starting from this version, a small number of users will be prompted to enable it.
Users can uploading of telemetry data by either responding to the prompt or running the following command:
go run golang.org/x/telemetry/cmd/gotelemetry@latest on
Once uploading is enabled, the data will be sent to https://telemetry.go.dev each week.
You can find more information about this process at https://telemetry.go.dev/privacy and in the gopls v0.14 release notes.
A comprehensive list of changes can be found in the complete commit history.
Changes
-
In this release, we have removed legacy language feature providers that were supported by outdated tools. As a result, features such as code completion, navigation, documentation, diagnostics, and refactoring will only function when the language server (
gopls
) is enabled. (Issue 2799) -
The "Go: Fill struct" command has been retired. The same functionality is provided by gopls as a Code Action for refactoring. You can refer to the screenshot for details. (Issue 2107))
-
The "Go: Extract to function" and "Go: Extract to variable" commands are no longer needed, as they have been replaced by Code Actions provided by gopls. (Issue 2862)
-
The "buildFlags" attribute for Go launch configuration now accepts more than one string. If using delve at v1.22.2 or newer, this list is passed directly to delve. This should help with bugs related to parsing the string of buildFlags, such as in Issue 1831 and Issue 1027. (Issue 3009)
-
The "Go: Toggle Hide System Goroutines" command makes it easier to switch between showing / hiding the system goroutines in the callstack view. This command is also available in the callstack context menu. The default setting can be updated by updating
"hideSystemGoroutines" in either the launch.json or in the "go.delveConfig" setting. (Issue 1797)
Fixes
- Environment variables may now be used in additional configuration settings. Environment variable references like
${env:VAR}
in thego.toolsEnvVars
setting (Issue 2680) and thego.goroot
setting
(Issue 3006) are now correctly substituted. Patterns like${VAR}
inside environment files (go.testEnvFile
) can be used to reference other environment variables as well. (Issue 1902)
Compatibilities
- This extension version requires VS Code 1.75 (January 2023 version) or newer. The README.md provides a list of VS Code and Go version requirements.
- For tools installation managed by the extension, you need go1.18 or a newer version. (Issue 2898)
- The extension has been tested with gopls v0.14 and delve v1.21.
Thanks
Release 0.40.0-rc.1
-
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.40.0
-
Commits: https://github.com/golang/vscode-go/compare/v0.39.1..v0.40.0-rc.1
-
How to test prerelease
- 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 0.39.1
v0.39.1 - 17 Jul, 2023
This is a point release to update the link for the upcoming Go developer survey.
A list of changes can be found in the full commit history.
Release 0.39.1-rc.1
[release] prepare v0.39.1 release 3eafcb48 CHANGELOG.md: update for v0.39.1 9e7f8580 src/goDeveloperSurvey: update survey link and dates 75770e1f package.json: add gopls.start_debugging 5f5a8752 build/Dockerfile: skip global typescript, vsce installation 0de0e113 build: remove unused, outdated cloudbuild config 3b2da9a1 package.json: prepare for the v0.40.0 dev cycle fb1dce6d package.json: align snippetsPreventQuickSuggestions with VS Code default Change-Id: I9e1f5d40b5128c4c829850139aef92d26c18907f
Release 0.39.0
v0.39.0 - 12 Jun, 2023
We are in the process of removing legacy language features that were replaced by gopls
since early 2021. The versions released after September 2023 will no longer offer features like code completion, navigation, documentation, formatting, and refactoring if the language server is disabled. In this release, we are showing deprecation notification messages if you are using the legacy language features. (Issue 2799)
A list of all issues and changes can be found in the v0.39.0 milestone and commit history.
Changes
-
Added the
go.showWelcome
setting that controls whether to show the Welcome page. (PR 2704) -
Report when
go.toolsManagement.go
setting is invalid and ignored. (Issue 2753) -
Removed
go.languageServerExperimentalFeatures
setting which was deprecated in v0.21.0. (Issue 1109) -
Deprecated settings that affect only legacy language features and tools. They will be removed in the release after September 2023. (Issue 2799)
-
"Go: Update/Install Tools"
will install the latest version ofgolangci-lint
instead of a vetted, pinned version. The extension chose to pin the versions of third-party go tools it installs in order to manage version skew and reduce security risks. However,golangci-lint
is frequently released and its community is active enough to handle compatibility/security issues. We decided to install the latest version by default. (Issue 2763, 2485) -
Debug: show error when the process picker is hidden (CL 499601). To learn more about the process picker in debug, see Launch.json "processId" documentation.
-
Debug:
args
attribute now accepts astring
typed value. The argument string is parsed into word arguments with rules similar tobash
except that there is no shell expansion. This change allows to use vscode variables like${input:args}
. (Issue 2621) -
The extension no longer caches PATH environment variable, which helps interoperate with extensions that modify
PATH
. (Issue 2617) -
Updated LSP to v3.17.3 and VS Code language client library to v8.1.0. This includes fixes for request ordering issues around full document sync and bugs around shutdown.
-
Replaced the extension user survey link to https://go.dev/s/ide-hats-survey. (CL 497536)
-
Updated settings to sync with [email protected].
-
Third-party go tools dependencies: use [email protected] and [email protected] and install [email protected] when building with go1.18 or older.
Delopment process updates
- Updated
@vscode/vsce
version to address the xml2js prototype pollution vulnerability report
Documentation
- Debugging documentation includes tips for debugging with
-trimpath
. (Issue 2609) - Added advanced semantic syntax highlighting options. (Issue 2682)
Thanks
- Thank you for your contribution, @fflewddur, @ZekeLu, @cuining, @weikanglim, @niklaskorz, @xmmak, @jamalc, @suzmue, @hyangah!
Release 0.39.0-rc.1
-
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.39.0
-
Commits: v0.38.0...v0.39.0-rc.1
-
How to test prerelease
- 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 0.38.0
v0.38.0 - 28 Feb, 2023
This release adds default go
tasks to help build and test your Go projects.
A list of all issues and changes can be found in the v0.38.0 milestone and commit history.
Changes
- Added default go task provider (Issue 194)
- Updated pinned golangci-lint version to fix memory leak issue with Go 1.20 (Issue 2654)
- gopls releases will now have a staged rollout in VS Code (CL 468497)
- Added extension keywords to make this extension easier to find in the VS Code Extension Marketplace (Issue 2657)
- Deleted the broken references codelens code (Issue 2519)
- Added support to handle missing variables in legacy debug adapter gracefully (Issue 2397)
Development process updates
- Upgraded esbuild to support s390x (Issue 2668)
- Use --profile-temp for testing with clean env (Issue 2458)
Thanks
Thank you for your contribution, @ankon, @hyangah, @jamalc, and @suzmue!
Release 0.38.0-rc.3
.github/workflows: fix release.yml to use npx vsce for packaging Updates golang/vscode-go#2676 Change-Id: Idba55e5976bf85e587a4cef04773c15114446087 Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/470975 Run-TryBot: Hyang-Ah Hana Kim <[email protected]> TryBot-Result: kokoro <[email protected]> Reviewed-by: Suzy Mueller <[email protected]> (cherry picked from commit dde5592e3d5a3825cc9a68b7d7268c672d4c319a) Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/471036 Run-TryBot: Suzy Mueller <[email protected]> Reviewed-by: Jamal Carvalho <[email protected]>
Release 0.37.1
v0.37.1 - 17 Jan, 2023
Fixes
- Fixed spurious file creation bugs on branch switches. (Issue 2570)
Changes
- Added promotion for the annual Go developer survey (2023 Winter).
Thanks
Thank you for your contribution, @suzmue!
Release 0.37.1-rc.2
[release] src/goDeveloperSurvey: drop extra " from message Change-Id: I3badc68ee7b9c983ee70a836173accc794d4c913 Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/462475 TryBot-Result: kokoro <[email protected]> Run-TryBot: Hyang-Ah Hana Kim <[email protected]> Reviewed-by: Robert Findley <[email protected]>