Releases: golang/vscode-go
Release 0.23.1
v0.23.1 - 11th Mar, 2021
🎉 We use staticcheck
as the default lint tool. We also changed to use goimports
for formatting when not using gopls
.
This version requires VS Code 1.52 or newer.
A list of all issues and changes can be found in the v0.23.1 milestone and the changes since v0.22.1
Enhancements
- Changed the default lint/format tools. (Issue 189, 192)
- Enhanced
dlv-dap
start logic (Issue 1270) and improved output/error message forwarding. (CL 296930)
Fixes
- Fixed the spurious popup message about the use of
goreturns
. (CL 300430) - Fixed orphaned progress notification after restarting
gopls
. (Issue 1153) - Fixed cryptic error messages that appear when
gopls
commands fail. (Issue 1237) - Fixed incomplete folding range info issue caused by parse errors. Complete fix requires
gopls
v0.6.7+ (Issue 1224)
Code Health
- Updated LSP to 3.16.0 (stable), and DAP to 1.44.0.
Release 0.23.0
v0.23.0 - 4th Mar, 2021
A list of all issues and changes can be found in the v0.23.0 milestone and the changes since v0.22.1
Enhancements
- Improved debugging workflow of attaching to local process. (Issue 183)
By settingprocessId
to the command name of the process,${command:pickProcess}
, or${command:pickGoProcess}
a quick pick menu will show a list of processes to choose from. - Enabled access to Delve DAP again. Simplified the Delve DAP launch workflow and removed the intermediate Node.JS adapter.
If"debugAdapter": "dlv-dap"
is specified in launch.json configurations, the extension will use Delve DAP for the debug session. When using Delve DAP, install the dev version ofdlv
built from master (cd; GO111MODULE=on go get github.com/go-delve/delve/cmd/dlv@master
) to pick up the latest bug fixes and feature improvement. (Issue 23, 822,844) - Added an opt-in "Always Update" setting for
gopls
auto-update. (Issue 1095) Go: Reset Global State
andGo: Reset Workspace State
commands are available for easier extension state reset.- Enabled survey to collect feedback from users who disabled
gopls
. - Added a new setting (
"go.disableConcurrentTests"
) that prevents concurrentgo test
invocation. (Issue 1089)
Fixes
- Issue 1113: error message when debugee terminates fast.
- Issue 179: disable stackTrace error pop-ups during debugging.
- CL 290289: check incorrect gopls flag usage before automated gopls crash report.
- Issue 948: show lint tool's name as the lint diagnostic collection name.
- Issue 1252: search
C:\Program Files\Go\bin
,C:\Program Files (x86)\Go\bin\go.exe
, the new default Go installation path in Windows.
Code Health
- Migrated to use
gts
to enforce consistent coding style. (Issue 1227) - Preview mode features are available in both Nightly and the dev version.
- Enabled integration test in Go module mode.
- Enabled Delve DAP integration test.
- Removed the
latest
branch.
Thanks
Thanks for your contributions, @Charliekenney23, @eneuschild, @suzmue, @stamblerre, @pjweinbgo, @polinasok!
Release 0.22.1
v0.22.1 - 8th Feb, 2021
Enhancements
- Added error details to automated error reports. (CL 287952)
- Used clickable links in
"go.languageServerExperimentalFeatures"
setting deprecation error messages. (CL 288133)
Fixes
- Fixed a race during language client restarts. (CL 288372, CL 288352)
- Disabled the language server when using workspace folders over ssh. (Issue 1171)
- Added
dlv
to the"go.alternateTools"
example value list. (CL 289231)
Code Health
- Bumped
ini
to 1.3.8 to address a vulnerability report fromnpm audit
.
Thanks
Thank you for your contribution, @stamblerre, @hyangah, @patrasap0908!
Release 0.22.0
v0.22.0 - 26th Jan, 2021
- 🎉 The language server,
gopls
, is enabled by default. (Issue 1037)
Enhancements
- Added the new Go welcome page. (Issue 949)
- Updated documentation. (troubleshooting, customization, settings guide)
- Updated the hardcoded latest gopls version to 0.6.4.
Thanks
Thank you for your contribution, @suzmue, @stamblerre, @findleyr, @heschik, @hyangah!
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.