This repository has been archived by the owner on Jul 15, 2023. It is now read-only.
Releases: microsoft/vscode-go
Releases · microsoft/vscode-go
Fixes for few regressions and other bugs
Bug Fixes
-
- Fix for bug 2766 where the
Go: Test All Packages In Workspace
command failed to run tests since the last update. - Fix for bug 2765 where the
Go: Build Workspace
command failed to run the build command since the last update - Fix for bug 2770 where failure to find the path to the go binary results in
gopls
results in the extension throwing error & not working as expected since the last update - Use
go vet .
instead ofgo vet ./...
when vetting current package for better performance.
- Fix for bug 2766 where the
Skip call to proxy.golang.org to determine latest version of gopls
The prompt to update your gopls
that was introduced in the previous update, relied on making calls to https://proxy.golang.org.
In this patch release, we replace such calls with a check against a known hard-coded value for the latest version of gopls
. Details on the next steps here are captured in the issue 2776
Debugging & Tooling improvements!!!
Debugging improvements
-
- Fix the bug where setting breakpoint fails if the remote program is started through dlv with --continue switch. Bug 2690
- Fix the bug where disconnecting (after attaching to) the remote program terminates it Bug 2592
- Fix the bug where setting breakpoint will fail if a breakpoint already exists (if dlv is started through multi client and another client sets the breakpoint).
Tooling improvements
-
gopls
can now be used when using Go from the tip- A new status bar item "Go Modules" will show up when the extension has determined that modules are being used.
On clicking, this will take you to the wiki page for Go modules support in VS Code
-
- Allow the use of
go.alternateTools
setting to provide an alternative forgopls
. PR 2660
- Allow the use of
Allow go.goroot to be configured at workspace level
- Ramya Rao (@ramya-rao-a)
- Revert marking
go.goroot
setting to be of scopemachine
in order to support it to be configured at worksapce level. More in this is discussed at 2576.
- Revert marking
Allow go.goroot to be configured at workspace level
-
James George (@jamesgeorge007)
- Update README to contain Table of Contents. PR 2634
Allow go.gopath and go.toolsGopath to be configured at workspace level
New Go logo for the extension and bug fixes!
-
- Update the extension to use new Go logo! PR 2582
-
- Add link to all the code snippets provided by the extension in the README. PR 2603
-
- Support the
output
attribute in the debug configuration whenmode
is set totest
. Fixes Bug 2445 with commit 373f0743 - Fix bug that got introduced in the previous update where nested variables show empty values when debugging. Fixes Bug 2601 with commit e89118e42
- Warnings regarding the inability to find the go binary in the PATH environment variable now includes the value of the PATH being checked.
- The prompt to choose
goimports
instead of the defaultgoreturns
as the formatting tool when using modules without the language server, now
has the option to not be shown again for cases when you don't want to usegoimports
. Fixes Bug 2578 with commit 658db8d4 - Avoid unwanted prompt to re-compile tools when current goroot is different from the previous only in terms of casing. Fixes Bug 2606 with commit b0a2d2d
- Preserve text highlighting as part of code coverage in multiple editor groups. Fixes Bug 2608 with commit 0de7e94e
- Update code coverage decorators in the visible editor immediately after corresponding setting is changed rather than wait for focusing on the editor. commit 86df86fd6
- Support the
Support for attaching to a local process and detaching without killing it!!
-
@BetaXOi & Joel Hendrix (@jhendrixMSFT)
- When debugging, support attaching to a local Go process and detaching gracefully without killing the process.
This uses the attach command of delve. Feature Request 1599 implemented with PR 2125.
Please note the feature of attaching to a local process using process id only works when the process is started by running the compiled code i.e the executable and not by using the command
go run
. This is a limitation from delve. - When debugging, support attaching to a local Go process and detaching gracefully without killing the process.
-
- A new command
Go: Restart Language Server
to restart the language server which previously was possible only by reloading the VS Code window. Feature Request 2500 implemented with PR 2530
- A new command
-
Rebecca Stambler (@stamblerre)
- Enable diagnostics feature from
gopls
by default and add the feature to provide to clickable Godoc links for import statements. PR 2518
- Enable diagnostics feature from
-
- Add a new option
incrementalSync
togo.languageServerExperimentalFeatures
setting. If true, the language server will accept incremental document synchronization. PR 2493
- Add a new option
-
- Resolve
${workspaceRoot}
and${workspaceFolder}
for the-vetTtool
flag provided ingo.vetFlags
setting. Feature Request 2527 implemented with PR 2528
- Resolve
-
- Resolve
${workspaceRoot}
and${workspaceFolder}
for the values provided to thego.alternateTools
setting. Feature Request 2543 implemented with PR 2544
- Resolve
-
- Ensure Go binary is in the PATH when running Go tools. Fixes Bug 2514 with commit d93a0aec
- Use
gotype-live
to provide diagnostics as you type only when the user is not usinggopls
and is not in module mode. This is becausegopls
supports this feature out of the box and the tool doesnt support modules. Fixes Bug 1950 with commit d1bf95c5
Patch release to enable auto-import on file save and other bug fixes
This patch release has fixes for the below bugs
Patch release with fixes for high cpu usage when language server is chosen
This patch release has fixes for the below bugs
- Bug 2459:
gopls
crashes when-trace
is set in thego.languageServerFlags
setting - Bug 2461: Extension uses high CPU due to being stuck in an infinite loop when
go.useLanguageServer
is set totrue
, but no language server can be found - Bug 2458: Reference to GOPATH when dependent tools are missing misleads users to think that they need GOPATH for the extension to work