Skip to content

Releases: golang/vscode-go

Release v0.41.1

22 Feb 15:40
Compare
Choose a tag to compare

v0.41.1 - 22 Feb, 2024

This release is a point release to skip vscgo installation on Windows (Issue 3182).
For a detailed list of changes, refer to the complete commit history.

Release v0.41.1-rc.1

21 Feb 22:01
Compare
Choose a tag to compare
Release v0.41.1-rc.1 Pre-release
Pre-release

Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.41.1

Full Changelog: v0.41.0...v0.41.1-rc.1

Changelog draft: https://github.com/golang/vscode-go/blob/v0.41.1-rc.1/extension/CHANGELOG.md#v0411---22-feb-2024

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 v0.41.0

14 Feb 19:04
Compare
Choose a tag to compare

v0.41.0 - 14 Feb, 2024

This release introduces significant updates to the extension's UI.
We also want to share the news that the gopls v0.15 release enhances the multi-module workspace experience and improves build tag handling.

For a detailed list of changes, refer to the complete commit history.

Changes

Gopls v0.15.0 and Workspace Configuration

  • The gopls v0.15 introduces a significant change in its internal workspace data model. Known as "zero configuration" gopls, gopls can automatically determines workspace configurations such as Go module boundaries and necessary GOOS/GOARCH build tags for open Go files. This eliminates the need for users to align the VS Code workspace root folders with the Go module root folder.
  • For more details and additional feature updates, refer to the gopls v0.15.0 release notes. The extension's settings have been updated to align with gopls v0.15.0 settings.

UI Updates

  • A new language status bar is added, visible when working on Go-related files. The Go status bar, which displays the selected Go version and the gopls status, is now located at the bottom right of the window and is visible only when Go files are open.
  • The "Go" and "Go Debug" output channels are now primarily used for logging extension activities such as dependency tool installation, invocation, and debug logging. Use the "Developer: Set Log Level..." command to adjust the logging level. The go.logging.level setting is deprecated in favor of this new logging mechanism.
  • The "Go: Locate Configured Go Tools" command now opens an untitled file and dumps the tools information there, instead of printing it in the "Go" output channel. This change allows users to inspect and edit the output easily before sharing it in their issue report.

Debugging

Tools

  • For new users, the extension will automatically install important tools (gopls and an optionally selected extra lint tool such as staticcheck or golangci-lint) if they are missing, using go install commands. Any installation failures will be surfaced in the language status bar and the "Go" output channel.
  • The extension does not require dlv installation until the debug feature is invoked.
  • The extension now installs vscgo, an optional tool used to update the Go telemetry counters. This tool is installed in the extension's directory.

Telemetry

  • The Go telemetry now measures activation latency. (CL 549244)

Fixes

  • The extension now recognizes idx as a Web IDE. (CL 559895)
  • The deprecated web-request has been replaced with node-fetch@v2. (Issue 2995)

Development Process Updates

  • The repository layout has been updated with the extension code moved to the extension/ directory. See Issue 3122 for more details.
  • The extension release workflow has been moved to Google Cloud Build.

Release v0.41.0-rc.2

14 Feb 16:09
Compare
Choose a tag to compare
Release v0.41.0-rc.2 Pre-release
Pre-release

Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.41.0

Full Changelog: v0.40.3...v0.41.0-rc.2

Changelog draft: https://github.com/golang/vscode-go/blob/v0.41.0-rc.2/extension/CHANGELOG.md#v0410---14-feb-2024

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 v0.41.0-rc.1

12 Feb 14:50
Compare
Choose a tag to compare
Release v0.41.0-rc.1 Pre-release
Pre-release

Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.41.0

Full Changelog: v0.40.3...v0.41.0-rc.1

Changelog draft: https://github.com/golang/vscode-go/blob/v0.41.0-rc.1/extension/CHANGELOG.md#v0410---14-feb-2024

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 v0.40.3

24 Jan 00:06
Compare
Choose a tag to compare

v0.40.3 - 22 Jan, 2024

This is a point release to update the upcoming developer survey information (the commit history).

v0.40.2 had a minor issue in the developer survey prompt and the date in CHANGELOG.
v0.40.3 fixed the typos.

Release 0.40.2

22 Jan 16:03
Compare
Choose a tag to compare

v0.40.2 - 22 Jan, 2024

This is a point release to update the upcoming developer survey information
(the commit history).

Release 0.40.1

21 Dec 15:24
Compare
Choose a tag to compare

v0.40.1 - 21 Dec, 2023

This is a point release to fix minor bugs. A comprehensive list of bug fixes and changes can be found in the milestone and the commit history.

Changes

  • We adjusted the extension activation behavior. The extension will not be activated until Go files are open or the extension's commands are invoked. (Issue 3038, and 2164)
  • The GOTOOLCHAIN environment variable is shown from the Go explorer view.

Fixes

  • Pprof result viewer now works with the remote development setup. (Issue 3090).
  • Subtests that include regexp metacharacters in their names are now properly handled. (Issue 2624, 3070)
  • When the extension detects go installed by snap, it will use /snap/go/current/bin/go as the go command path to work around a bug in snapd. (Issue 166)
  • We enhanced the automated issue reporting feature to be robust in collecting gopls crash logs and handling transient errors during gopls upgrade. (Issue 984, 2690)
  • The extension now respects user's editor.parameterHints.enabled and shows parameter hints after completion only if it is enabled. (Issue 3071)
  • Ran npm audit fix and that updated semver and word-wrap dependencies. (CL 551055)

Thanks

Thank you for your contribution @tekig, @rogeryk, @hyangah!

Release 0.40.1-rc.1

19 Dec 21:06
Compare
Choose a tag to compare
Release 0.40.1-rc.1 Pre-release
Pre-release
  • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.40.1

  • Commits: v0.40.0...v0.40.1-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.40.0

16 Nov 18:37
Compare
Choose a tag to compare

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 the go.toolsEnvVars setting (Issue 2680) and the go.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

Thank you for your contribution @n1lesh, @suzmue, @hyangah!