Release 0.17.0
Go code debugging and code coverage support is getting better.
The extension will help you stay updated with the new Go releases.
New Features
- Delve's call feature is now accessible. To use this feature, explicitly specify the
callcommand. E.g.call myAwesomeFunc(). It is an experimental feature in Delve. Please see the current limitations. (Issue 100) - The extension checks the go official download site and notifies users of newly available Go versions. When a newer version is available,
Go Update Availablestatus bar item will appear. This feature is available only ifgo.useGoProxyToCheckForToolUpdates
is set true. (Issue 483) - The new
go.coverModesetting allows to use different coverage modes (atomic,count,set (default)).go.coverShowCounts,
go.coverageDecorator.{coveredBorderColor, uncoveredBorderColor}were newly added. We are still investigating better ways to visualize thecountcoverage data; feedback and contribution is welcome! (Issue 256,
594)
Enhancement
- Expands
'~'in thecwdattribute of the launch configuration. (Issue 116) - Debug config's
showGlobalVariablesis disabled by default, and this change improves speed. You can still inspect the global
variables by registering them in theWATCHsection, or by configuringshowGlobalVariablesinlaunch.json. (Issue 138) gofumpt,gofumportsis added to recognized formatters list. (Issue 587)- Automatically restarts the language server if
go.toolsEnvVarsconfiguration is changed. (CL 254370) - Reports
go envfailures. (Issue 555)
Fixes
- Fixed to use absolute file paths in error messages appearing in the DEBUG OUTPUT. This allows VS Code to locate the correct files.
(Issue 456) - Fixed handling of absolute file paths in coverage profile, on windows. (Issue 553)
- Changed to pass
GOROOTwhen invoking thegopkgstool sogopkgscontinues to work with different go versions without being recompiled. (CL 254137) - Fixed to provide explicit directory for running go list and go version. (Issue 610,
CL 253600, 253602) - Fixed to trigger extension activation when commands for diagnostics, such as
Go: Locate Configured Go Toolsare invoked. (Issue 457) - Fixed to prepend
GOROOT/binto integrated terminal's PATH environment variable whengo.gorootis set on OS X. (Issue 544) - Fixed to correctly apply environment variables setting read from
envFilein the launch configuration. We reworked how the environment variables configuration is processed during this cycle. Now the extension processes theenvFileattribute instead of asking the debug adapter process to read the specifiedenvFile. (Issue 452) - Disabled
go.installDependenciesWhenBuildingby default. When this is enabled, the extension runsgocommands with-i, which is no longer recommended with recent versions of Go. (Issue 568) - Fixed a bug where we are not sending back 'configuration done' response. (Issue eclipse-theia/theia#8455, CL 254959)
Documentation
- Added new documentation about switching go versions, and settings for standard library development.
- Improved debugging instruction and contribution guide. Enhanced automated settings documentation generation.
Code Health
- Removed the obsolete string-type coverageDecorator support. (Issue 519)
- When gopls integration tests fail, tests print the observed gopls traces to help debugging.
Experimental Features
- We plan to delegate computation of various
run testCodeLenses togopls. This experimental feature can be enabled with the following setting:
"go.useLanguageServer": true,
"gopls": {
"codelens": { "test": true }
}
Thanks
Thank you for your contribution, @suzmue, @pjweinbgo, @ekulabuhov, @stamblerre, @tpbg, @FiloSottile, @findleyr, @quoctruong, @polinasok, @hyangah!