Releases: golang/vscode-go
Release 0.21.1
📣 Announcement:
The language server,
gopls
, will be enabled by default in the next release. (Issue 1037). Please test and provide us your feedback on the#vscode-dev
Gophers Slack channel.Some workspace or folder-level settings that affect tools location will not be used by default until users explicitly opt in by running
Go: Toggle Workspace Trust Flag
. See Issue 1094 for more information.
v0.21.1 - 21st Jan, 2021
A list of all issues and changes can be found in the v0.21.1 milestone.
Fixes
- Fixed the
Cannot get property 'get' of undefined
error. (Issue 1104) - Restored the
"go.languageServerExperimentalFeatures"
setting for users who depend on this to run custom vet analyzers. (Issue 1110)
Release 0.21.0
v0.21.0 - 20th Jan, 2021
📣 Announcement:
The language server,
gopls
, will be enabled by default in the next release. (Issue 1037). Please test and provide us your feedback on the#vscode-dev
Gophers Slack channel.Some workspace or folder-level settings that affect tools location will not be used by default until users explicitly opt in by running
Go: Toggle Workspace Trust Flag
. See Issue 1094 for more information.
A list of all issues and changes can be found in the v0.21.0 milestone.
Enhancements
- The new
dlvFlags
debug attribute is available for conveniently supply extra flags todlv
. (Issue 978) - Stop using workspace/folder-level settings from untrusted repositories that can be used to run arbitrary binaries. (Issue 1024)
- The extension now deduplicates diagnostics from both the language server and the linter. (Issue 142)
- Disabled
gotype-live
automatically when the language server is enabled. (Issue 1021) - Removed the
"go.languageServerExperimentalFeatures"
setting. (CL 280601). ThedocumentLink
feature is replaced withgopls
'sui.navigation.importShortcut
setting. Thediagnostics
feature replacement is still under discussion. Please provide feedback in Issue 50.
Code Health
- Experimental features that were available only in the nightly extension are enabled in the master branch, and in presubmit & CI tests running on the master branch.
Thanks
Thank you for your contribution, @hyangah, @suzmue, @pjweinbgo, @stamblerre!
Release 0.20.2
Release 0.20.1
v0.20.1 - 29th Dec, 2020
Fixes
- Fixed a bug that caused incorrect fallback to a common
go
installation path whengo
couldn't be found from the regular PATH (Issue 1065)
See also v0.20.0 CHANGELOG for the complete list of recently added new features and fixes.
Release 0.20.0
v0.20.0 - 22nd Dec, 2020
A list of all issues and changes can be found in the v0.20.0 milestone.
📣 Announcement: We plan to enable the language server,
gopls
, by default early next year. (Issue 1037)Please test and provide us your feedback on the
#vscode-dev
Gophers Slack channel.
Enhancements
- Debugging
- The new
substitutePath
config property allows users to translate their symlinked directories to the actual paths, and
the local paths to the remote paths. See Launch Configurations
and Remote Debugging for details. - Quick pick menu for creating
launch.json
was added. (Issue 131) - Report that
next
is automatically cancelled by delve if interrupted, for example, because breakpoint is set. See Issue 787 for details. (CL 261078)
- The new
- The new
tyf
snippet fortype name func()
was added. (Issue 1002) - Include the
gopls
settings section definition based ongopls
v0.6.0. (Issue 197, CL 278355) go.buildFlags
andgo.buildTags
are propagated togopls
unless"gopls": {"buildFlags": ..}
is set. (Issue 155)- The new
go.toolsManagement.checkForUpdates
setting allows users to completely disable version checks.
This deprecatesgo.useGoProxyToCheckForToolUpdates
. (Issue 963)
Fixes
- Added a workaround for the VSCode
PATH
setup issue. Whengo
isn't
found fromPATH
, the extension will check/usr/local/bin
too (Issue 971). - Fixed language client crashes or duplicate language features on the guest side of a VS Live Share session.
The initial fix added in v0.19.0 for VS Live Share wasn't sufficient. (Issue 605, 1024) - Stop requiring to install legacy tools when the language server is used. (Issue 51)
- Update
gopls
if the existing version in the system is older than the minimum required version when the extension enablesgopls
automatically. (Issue 938) - Show language server start progress and allow only one outstanding language server restart request. (Issue 1011)
- Fixed a gocode-gomod installation bug that caused to ignore
GOBIN
setting. (CL 275877) - Marked settings that are not applicable when using the language server. (Issue 155)
Code Health
- Deprecated unused settings such as
go.overwriteGoplsMiddleware
and marked deprecated settings. - Improved stability of debug functionality tests on windows.
- Improve the automated gopls issue template message. It includes the extension name and version.
- Prompt users to file an issue for feedback when they choose to opt out of gopls.
- CI test workflow now runs
vsce package
to detect packaging errors early.
Thanks
Thank you for your contribution, @hyangah, @suzmue, and @programmer04!
Release 0.19.1-rc.101
This is a variation of 0.19.1 built for Theia IDEs.
It's equivalent to 0.19.1 except the use of downgraded LSP and client versions.
See #1038 for details.
New features that depend on LSP 3.16 won't be available with this version.
Release 0.19.1
v0.19.1 - 9th Dec, 2020
A list of all issues and changes can be found in the v0.19.1 milestone.
Fixes
- Fixed
Run without Debugging
for Windows. This was a regression found in v0.19.0 (Issue 918). - Fixed snippets that used the reserved keyword ('var') as variable names (Issue 969).
- Fixed a file path expansion bug in subtest failure messages (Issue 956).
- Fixed unhandled promise rejection error in debug adapter (Issue 982).
Enhancements
- Disabled the experimental
godlvdap
debug configuration from the stable version. It is still available in Go Nightly (Issue 960). - Enabled user survey (Issue 910).
Thanks
Thank you for your contribution, @suzmue, @RomanKornev, @hyangah!
Release 0.19.0
v0.19.0 - 25 Nov, 2020
A list of all issues and changes can be found in the v0.19.0 milestone.
Community
- Go Nightly users are encouraged to discuss issues and share feedback in the #vscode-go-nightly slack channel as well as the newly created Go Nightly mailing list (Issue 817)
- All experiments have been turned on for Go nightly (Issue 818)
Enhancements
- Added a snippet for TestMain (Issue 629)
- Added
lispcase
,pascalcase
andkeep
as transform variants for go.addTags (Issue 906, 936) - Added support for
gomodifytags
's --template flag (Issue 826) - Language Server
- Upgraded to the latest vscode-languageclient pre-release (Issue 42148)
- Debugging
- package.json: activate extension onDebugInitialConfigurations (Issue 131)
Fixes
- Fixed test streaming output handling to correctly add -json flag (Issue 471)
- Fixed bug that unnecessarily buffered test output (Issue 917)
- Fixed a bug that occurred when choosing a new Go environment using the file picker (Issue 868, 864)
- Hide running test StatusBarItem after cancelling tests
- Tool Installation
- Filter out unsupported document types to improve VS Code Live Share experience (Issue 605)
- Fixed language server survey computation error
- Debugging
- No longer shows a warning about editing Go files if there is no Go Debug Session running.
- Now removes user set '--gcflags' before passing the program to the debugger, since the debugger adds its own flags before building resulting in an error (Issue 117)
- Fixed bug where the working directory passed in by the user is ignored (Issue 918)
Code Health
- Debugging
- Improved the extension contributor experience by renaming the test fixtures folder to avoid errors being shown for these files
- Language Server Tests
- Adjusted home directory used in gerrit CI since recent changes in kokoro were restricting access (Issue 833)
- Updated Github workflows actions/setup-go to v2
- Restructured the goTest code to be more readable and easier to test
- Continued to improve the gopls settings documentation generator (Issue 197)
Thanks
Thank you for your contribution, @pofl, @hyangah, @perrito666, @pjweinbgo, @quoctruong, @stamblerre, @skaldesh, and @suzmue!
Release 0.18.1
v0.18.1 - 30th Oct, 2020
A list of all issues and changes can be found in the v0.18.1 milestone.
Enhancement
- New
Go: extract language server logs to editor
command was added (CL 263526).
Fixes
- Fixed a bug that hid the Go status bar when there is no active text editor (Issue 831).
Thanks
Thank you for your contributions, @suzmue, @pjweinbgo!
🌟 See also v0.18.0 Release Note.
Release 0.18.0
v0.18.0 - 23rd Oct, 2020
Unified Go status UI ⚡, many debugger feature improvements, and LSP 3.16 features! A list of all issues fixed with this release can be found in the v0.18.0 milestone.
New Features
- The new Go status bar provides a menu to manage the go version, open the gopls trace, open the
go.mod
file, and more. The oldGo Modules
status bar was removed in favor of this new unified status bar. See VS Code Go UI documentation to learn more about this. - New
Go: Toggle gc details
command toggles the display of compiler optimization choice for the open Go source file (CL 256658). - Upgraded LSP to
3.16
. Users of recentgopls
can access new features such asCall hierarchy
andSemantic tokens
.
Enhancement
- Debugging:
- Language Server Client: sends
gopls
config as LSP initialization options for correct workspace symbols computation (CL 259138). - Snippets: adds a placeholder for the
for
statement snippet (Issue 734). - Excludes
vendor
directories fromgo.inferGopath
disable mechanism (Issue 301). - New
go.logging.level
setting allows extra logging to help debugging extension issues (CL 256557). - For Nightly extension users,
Go: Show Survey Config
andGo: Reset Survey Config
commands are available.
Fixes
- Fixed the bug that caused the debug adapter to leave bogus null items in the map type variable presentation (Issue 199).
- Fixed several debug adapter bugs that caused remote debug to hang (Issue 740, 766, 761, 764).
- Restored the correct handling of language server configuration change when users opt for enabling language server and installing
gopls
. (CL 258997). - Fixed a diagnostics error visualization issue when multiple files with errors are open (Issue 743).
- Changed the dependency tool installation to use the
go
command chosen from the currentGOROOT/bin
. This helps avoid using a different version ofgo
command forasdf
ordirenv
users (Issue 757).
Documentation
- Documented the current limitation of symlink support in debugging (CL 257204), improved the instruction for CLI application debugging (CL 259677), and fixed syntax errors in example task configuration snippets (CL 259077).
Code Health
- Added an initial set of tests for debug adapters (Issue 137). We will keep working to improve our test coverage.
Thanks
Thank you for your contributions, @suzmue, @vologab, @amitlevy21, @danielhelfand, @egonk, @quoctruong, @polinasok, @pjweinbgo, @stamblerre, @hyangah!