vscode-go v0.32.0 Release Notes

Release Date: 2022-03-08 // 4 months ago
  • ๐Ÿš€ This version includes features to enhance Go 1.18 support. It works best when paired with the latest Go Language Server (gopls v0.8.0+) and Delve (dlv v1.8.0+).

    โšก๏ธ Go 1.18 introduces substantial changes to the language spec, so many tools need rebuilding with Go 1.18 or newer. The extension now suggests updates of tools if it finds they were built with old versions of go which are inadequate for the version used for the project. If you opted in for auto-update, tools will be auto-updated.

    โšก๏ธ In order to use Go 1.18, please follow the instruction to configure your Visual Studio Code to locate the right go binary, and run the Go tools using the "Go: Install/Update Tools" command.

    A list of all issues and changes can be found in the v0.32.0 milestone and commit history.

    ๐Ÿ”„ Changes

    • ๐Ÿ‘ Starting with Go 1.18, the go command provides native support for multi-module workspaces, via go.work files. The new "Open 'go.work'" option in the Go status bar's quickpick menu allows users to access the corresponding go.work file. go work short

    • ๐Ÿ“ฆ The extension no longer depends on gopkgs. Its use for "Go: Browse Packages" and "Go: Add Import" commands had been replaced with go list or commands in gopls. (Issue 258)

    • ๐Ÿš€ The extension uses gopls instead of go-outline if gopls v0.8.0 or newer is used. We plan to complete the replacement work in the next release. (Issue 1020)

    • โšก๏ธ The new "go.toolsManagement.go" setting allows users to specify the Go command for tools installation/updates separate from the Go command used for the project.

    • โšก๏ธ The latest gopls requires go 1.13+ for installation, so the extension no longer asks for gopls updates when an older versions of go is used. (Issue 2030) Note gopls compiled with go 1.13 or newer can still process projects that use go 1.12. If you want to update gopls while working with an older version of Go, utilize the new "go.toolsManagement.go" setting.

    • โฌ‡๏ธ Reduced the verbosity of "Go: Locate Configured Go Tools" output.

    Code Health

    • โšก๏ธ Updated to [email protected] (CVE-2021-23566).
    • โœ… Deflaked debug tests.
    • ๐Ÿš€ Changed to check go.dev/dl instead of golang.org/dl for Go release.
    • ๐Ÿ‘Œ Improved documentation for the default formatting behavior and template support.

    Thanks

    @jamalc @suzmue @pavlelee @dekimsey @hyangah