Releases: golang/vscode-go
Release 0.34.0-rc.1
-
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.34.0
-
Commits: v0.33.1...v0.34.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.33.1
v0.33.1 - 24 May, 2022
This is the last release that supports Visual Studio Code 1.66 or older.
We plan to add support for LSP 3.17 in the next release and the change requires Visual Studio Code 1.67+.
Changes
- Updated settings to be in sync with
[email protected]
. See the release note to learn new features like the//go:embed
analyzer, and improved hover for imported packages. - Prepared for 2022 mid-year Go developer survey.
Release 0.33.1-rc.1
-
Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.33.1
-
Commits: v0.33.0...v0.33.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.33.0
v0.33.0 - 1 May 2022
📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. It is now the default with the Go Nightly and will become the default for the stable releases in mid 2022.
Changes
-
staticcheck
: if go 1.16.x or older is used in installing tools, the extension chooses[email protected]
. In order to use the latest version ofstaticcheck
while working on projects that require older versions of go, you can utilize the"go.toolsManagement.go"
setting to specify a newer version of go for tool installation. (Issue 2162) -
go-outline
:go-outline
is no longer required whengopls
(v0.8.2+) is used. -
Activation: the extension defers commands and feature provider registrations until it runs
go version
andgo env
, and startsgopls
. This change prevent the extension prematually export its features, but may result in a slight increase in extension activation time if those commands run slow. -
Survey: we show the Gopls opt-out survey prompt only when users change the setting to disable
gopls
. -
Test Explorer: fixed a bug in
go.mod
file parsing (Issue 2171) -
Debugging: we removed the informational popup at the start of remote attach session with
dlv-dap
. (Issue 2018)
Experimental features
This version includes two highly experimental features. They are still
in early stage and we are looking forward to hearing more user feedback.
- Go Explorer view: it displays environment variables and information about tools used by the extension. (Issue 2049)
goexplorer.1.mov
(Demo: Using the Go Explorer view UI to quickly change GOOS
setup)
Go: Run Vulncheck (Experimental)
command: it runs thegovulncheck
command embedded ingopls
, which identifies known vulnerabilities by call graph traversal and module dependency analysis. (Issue 2096)
Thanks
@jamalc, @polinasok, @dlipovetsky, @vladdoster, @suzmue, @hyangah
Release 0.32.0
v0.32.0 - 8 Mar, 2022
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, viago.work
files. The new "Open 'go.work'" option in the Go status bar's quickpick menu allows users to access the correspondinggo.work
file.
-
The extension no longer depends on
gopkgs
. Its use for "Go: Browse Packages" and "Go: Add Import" commands had been replaced withgo list
or commands ingopls
. (Issue 258) -
The extension uses
gopls
instead ofgo-outline
ifgopls
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 forgopls
updates when an older versions ofgo
is used. (Issue 2030) Notegopls
compiled with go 1.13 or newer can still process projects that use go 1.12. In case, you want to updategopls
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 ofgolang.org/dl
for Go release. - Improved documentation for the default formatting behavior and template support.
Thanks
Release 0.31.1
v0.31.1 - 8 Feb, 2022
A list of all issues and changes can be found in the v0.31.1 milestone and commit history.
Fixes
- Fixed the profile functionality broken by VSCode 1.63 (Issue 2048)
- Include fuzz tests in test explorer UI (Issue 2023)
Release 0.31.0
v0.31.0 - 26 Jan, 2022
A list of all issues and changes can be found in the v0.31.0 milestone and commit history.
Fixes
- src/goStatus: assign id/name to each status bar item (Issue 1571)
- Change go template file language id to
gotmpl
(Issue 1957)
Debugging
- Use 'dlv' instead of 'dlv-dap' binary (Issue 1977)
- Experimental support of 'console' mode debugging (Issue 124)
- Support debugging with root privileges (Issue 558)
- Updated debugging documentation (Issue 1861,1719,(1676, 123, 855, 1840))
- Enabled remaining tests for dlv dap and fixed flaky tests (Issue 1958,Issue 1993)
- Improvement of debug session start-up and session fail messages (Issue 1861)
Test Explorer
- src/goTest: don't resolve tests in virtual files
- src/goTest: fix output for subtests (Issue 1837)
Development Process Updates
- Recommend that contributers use npm ci instead of npm install when developing vscode-go (Issue 2010)
- test: use @vscode/test-electron instead of vscode-test
- go.mod: update imports to latest versions
- package.json: pin direct dependencies (Issue 2010)
- Enable tests with go1.18beta1 (Issue 1950)
Thanks
Thank you for your contribution, @firelizzard18, @hyangah, @jamalc, @polinasok, @TheNagaPraneeth, @suzmue!
Release 0.30.0
v0.30.0 - 16 Dec, 2021
📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. We plan to enable this as the default in early 2022 to enhance remote debugging with the same debugging features that are already in use for local debugging.
We recommend switching your remote attach configurations in launch.json
to use "debugAdapter":"dlv-dap"
now to verify that this works for you. Please file a new issue if you encounter any problems.
Full list of all issues and changes can be found in the v0.30.0 milestone and commit history.
Changes
-
Debugging
dlv-dap
is pinned at@2f136727
.- Remote debugging support using
dlv-dap
is available.
Please follow the instruction to enable remote debugging usingdlv-dap
. (Issue 1861) - Launch configuration:
showRegisters
(Issue 1527). This was added togo.delveConfig
, too.hideSystemGoroutines
(Issue 1797). This was added togo.delveConfig
, too. We plan to hide system goroutines by default in the next release, and it is already enabled in Nightly. Feedback is welcome!backend
accepts"rr"
. Along with"mode": "replay"
support that has been available since v0.27.2, this concludes the work for the rewind feature support. (Issue 110). The feature requires Mozilla'srr
.
- Runtime frames are no longer deemphasized. (Issue 1916)
- Logpoints support is available. (Issue 123)
- DEBUG CONSOLE accepts the new
dlv
command that allows users to dynamically inspect/adjust debug configuration. Please rundlv help
from DEBUG CONSOLE to see the list of supported options. - Bug fixes:
- Correctly infer
mode
forattach
requests. (Issue 1929) - Stop debugging when delve remote connection ends in
legacy
remote debugging. (CL 366936) - Allow users to debug with older versions of
dlv-dap
. (Issue 1814)
- Correctly infer
-
Enabled Go template file processing. (Issue 609) By default, files with
.tmpl
and.gotmpl
extension are treated as Go template files. -
Include
Fuzz*
functions in Testing UI and adds test codelens. (Issue 1794) -
gofumports
is pinned atv0.1.1
. We plan to remove it from the recognized formatter tool list sincegofumports
is officially deprecated early next year. -
Disabled separate linting if gopls's 'staticcheck' is enabled. (Issue 1867)
-
Updated the in-editor user survey URL. (CL 360775)
-
Limited Go file search scope for extension activation (Issue 1894)
-
Code Health
- Enabled esModuleInterop. (CL 349170)
- Bumped TS target to ES2017. (Issue 1712)
- Updated json-schema to 0.4.0
Thanks
Thank you for your contribution, @polinasok, @suzmue, @firelizzard18, @hashedhyphen, @fengwei2002, @devuo, @fflewddur, @hyangah
Release 0.29.0
v0.29.0 - 26 Oct, 2021
A list of all issues and changes can be found in the v0.29.0 milestone and commit history.
Changes
- Prompt users for the 2021 Go Developer survey.
go.survey.prompt
is a new setting to control survey prompts. - Use
go install
for tools installation when using go1.16+. From go1.18,go get
will no longer build/install tools. See the deprecation notice. (Issue 1825) The extension runsgo install
from the workspace root directory, and the old workaround for Issue 757 is unnecessary. - Language Server:
- Print all
GOPATH
s when there are multiple GOPATHs. (Issue 1848) - Synced settings @ gopls/v0.7.3
- Print all
- "Go: Generate Interface Stubs" allows
'-'
as an acceptable char for interface names. (Issue 1670) - Test UX:
- Visualize profiles. (Issue 1747)
- Added view for profiles. (Issue 1641)
- Added single-test debugging support to the Test Explorer UI. (CL 348571)
- Shows test output on run. (CL 352309)
- Debug:
- Added
showLog
/logOutput
/dlvFlags
togo.delveConfig
setting that change the default values for them. (Issue 1723) - Handle directory with
'.'
in its name correctly and warn users for invalidprogram
(Issue 1826, 1769)
- Added
Thanks
Thank you for your contribution, @firelizzard18, @Zamiell, @mislav, @polinasok, @hyangah, @stamblerre, @suzmue, and @yinheli!
Release 0.28.1
v0.28.1 - 24 Sep, 2021
A list of all issues and changes can be found in the v0.28.1 milestone and commit history.