Skip to content

Commit 0d45db5

Browse files
committed
[release] prepare v0.36.0 release
ce9ddf8 CHANGELOG.md: draft v0.36.0 release note 7055f45 docs/features: add "Go Test: Profile" feature screenshot 2352869 test/gopls: add time out in language client stop 40074a4 src/goToolsInformation: update gopls latest version 67e3a26 src/language/goLanguageServer: fix signature help trigger injection 318539d src/goTest/profile: fix tree view action 02fafd6 src/goMain: show warning message about go.enableCodeLens.references 8c40422 tools: update golangci-lint default version to v1.50.1 82cad22 package.json: update [email protected] bf5789c vscode-go: remove the 'references' codelens ea6fed7 tools/goplssetting: trim space after generating package.json 2918cb4 src/goToolsInformation: fix go-outline version 2e739cc package.json: update gopls settings to match v0.10.0-pre.1 2a6a178 src/goTools: remove unneeded import 4f3a371 src/goTools: specify gofumpt/golangci-lint versions for old go fc6d532 snippet/go.json: add code snippet for variable block 1ccf637 src/goToolsInformation: update gopls latest version 8253459 src/goInstallTools.ts: install tools command UI displays pinned versions 23f22eb docs: update docs for pinned command-line tools 8d7fc9a src/goToolsInformation.ts: pin all third party tool versions 3063e68 src/goVulncheck: copy codicon resources to media f39f7ed src/goVulncheck: add "Current Module" option 62516a4 media/vulncheckView: use codicons to distinguish severity cf7c1cc package.json: rename vulncheck command 17f6b7a media/vulncheckView.js: simplify the run log section. 8cef5ae media/vulncheckView: organize unaffecting vulns by vuln ids 4b658d3 src/goVulncheck: add feedback link 4b6ce1f all: fix some typos c41fb17 README.md: Clean up of README sections, link fix 4298b52 src/goTest: open debug repl when running debug test Change-Id: Ia50aac58cf1167d2c99b0f42ed3ed3b17d900205
2 parents e314822 + ce9ddf8 commit 0d45db5

34 files changed

+1182
-288
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
## v0.36.0 - 4 Nov, 2022
2+
A list of all issues and changes can be found in the [v0.36.0 milestone](https://github.com/golang/vscode-go/milestone/52) and [commit history](https://github.com/golang/vscode-go/compare/v0.35.2...v0.36.0).
3+
4+
### Changes
5+
- From this release, the extension will download specific versions of 3rd party tools installed with the "Go: Install/Update Tools" command. This is to enhance stability and security. The "Go: Install/Upate Tools" command will present the versions the extension will install. To install a different version of a tool, use `go install` command from the terminal instead. ([Issue 1850](https://github.com/golang/vscode-go/issues/1850))
6+
- The default gopls version was updated to v0.10.1 and the settings were updated accordingly. See the [release note of gopls v0.10.0](https://github.com/golang/tools/releases/tag/gopls%2Fv0.10.0) to learn about notable changes and new features.
7+
- Typing `vars` will now offer a completion snippet that expands it to a `var (...)` block containing multiple variables. ([PR 2481](https://github.com/golang/vscode-go/pull/2481))
8+
- The setting to enable the "references" codelens, `go.enableCodeLens.references`, is now hidden. The feature remained broken for a while, so we plan to remove it in a future release. Please see [Issue 2509](https://github.com/golang/vscode-go/issues#2509) for details.
9+
- When debugging tests, the extension will open the "Debug Console". ([Issue 2409](https://github.com/golang/vscode-go/issues/2409))
10+
11+
### Fixes
12+
- Fixed [Issue 2525](https://github.com/golang/vscode-go/issues/2525) that prevented triggering of parameter hints after method autocompletion. Users can enable/disable this parameter hints popup with the `"editor.parameterHints.enabled"` setting.
13+
- Fixed [test profie feature](https://github.com/golang/vscode-go/wiki/features#profiling) ([CL 440530](https://go-review.googlesource.com/c/vscode-go/+/440530)).
14+
- Removed dev dependency affected by CVE-2022-3517.
15+
16+
### Thanks
17+
Thank you for your contribution, @suzmue, @fatoboist, @cuishuang, @jamalc, @karthikraobr, @pjweinbgo, @firelizzard18, @hyangah!
18+
119
## v0.35.2 - 15 Aug, 2022
220
A list of all issues and changes can be found in the [v0.35.2 milestone](https://github.com/golang/vscode-go/milestone/51) and [commit history](https://github.com/golang/vscode-go/compare/v0.35.1...v0.35.2).
321

README.md

Lines changed: 24 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,23 @@ You are ready to Go :-)    🎉🎉🎉
5151

5252
## What's next
5353

54-
* Explore more [features](#features) of the VS Code Go extension.
55-
* Learn how to [customize](#customization) your settings.
56-
* Solve issues with
57-
[Troubleshooting](https://github.com/golang/vscode-go/wiki/troubleshooting).
54+
* Explore more [features][full feature breakdown] of the VS Code Go extension.
55+
* View the
56+
[settings documentation](https://github.com/golang/vscode-go/wiki/settings)
57+
and [advanced topics](https://github.com/golang/vscode-go/wiki/advanced) to
58+
customize the extension.
59+
* View the [tools documentation](https://github.com/golang/vscode-go/wiki/tools)
60+
for a complete list of tools the VS Code Go extension depends on.
61+
* Solve issues with the
62+
[general troubleshooting](https://github.com/golang/vscode-go/wiki/troubleshooting)
63+
and [debugging troubleshooting](https://github.com/golang/vscode-go/wiki/debugging#troubleshooting)
64+
guides.
5865
* [file an issue](https://github.com/golang/vscode-go/issues/new/choose) for
5966
problems with the extension.
6067
* Start a [GitHub discussion](https://github.com/golang/vscode-go/discussions)
6168
or get help on [Stack Overflow].
69+
* Explore Go language resources on [go.dev/learn](https://go.dev/learn) and
70+
[golang.org/help](https://golang.org/help).
6271

6372
If you are new to Go, [this article](https://golang.org/doc/code.html) provides
6473
the overview on Go code organization and basic `go` commands. Watch ["Getting
@@ -104,28 +113,14 @@ by turning on [Gopls' `ui.semanticTokens` setting](https://github.com/golang/vsc
104113
"gopls": { "ui.semanticTokens": true }
105114
```
106115

107-
## Tools
108-
109-
The extension uses a few command-line tools developed by the Go community. In
110-
particular, `go`, `gopls`, and `dlv` **must** be installed for this extension
111-
to work correctly. See the [tools documentation](https://github.com/golang/vscode-go/wiki/tools) for a complete
112-
list of tools the extension depends on.
113-
114-
In order to locate these command-line tools, the extension searches
115-
`GOPATH/bin` and directories specified in the `PATH` environment variable (or
116-
`Path` on Windows) with which the VS Code process has started. If the tools are
117-
not found, the extension will prompt you to install the missing tools and show
118-
the "⚠️ Analysis Tools Missing" warning in the bottom right corner. Please
119-
install them by responding to the warning notification, or by manually running
120-
the [`Go: Install/Update Tools` command].
121-
122116
## Setting up your workspace
123117

124-
[Go modules](https://golang.org/ref/mod) are how Go manages dependencies in
118+
The VS Code Go extension supports both `GOPATH` and Go modules modes.
119+
120+
[Go modules](https://golang.org/ref/mod) are used to manage dependencies in
125121
recent versions of Go. Modules replace the `GOPATH`-based approach to specifying
126122
which source files are used in a given build, and they are the default build
127-
mode in go1.16+. While this extension continues to support both Go modules and
128-
`GOPATH` modes, we highly recommend Go development in module mode. If you are
123+
mode in go1.16+. We highly recommend Go development in module mode. If you are
129124
working on existing projects, please consider migrating to modules.
130125

131126
Unlike the traditional `GOPATH` mode, module mode does not require the workspace
@@ -135,34 +130,8 @@ tree's root directory.
135130

136131
Your project may involve one or more modules. If you are working with multiple
137132
modules or uncommon project layouts, you will need to configure your workspace
138-
by using [Workspace Folders]. Please see this [documentation about supported
139-
workspace layouts].
140-
141-
## Customization
142-
143-
The extension needs no configuration and should work out of the box. However,
144-
you may wish to adjust settings to customize its behavior. Please see the
145-
[settings documentation](https://github.com/golang/vscode-go/wiki/settings) for a comprehensive list of settings.
146-
See [advanced topics](https://github.com/golang/vscode-go/wiki/advanced) for further customizations and unique
147-
use cases.
148-
149-
## Troubleshooting
150-
151-
If the extension isn't working as you expect, you can take a look at our
152-
troubleshooting guides. There is one for [general
153-
troubleshooting](https://github.com/golang/vscode-go/wiki/troubleshooting), and another specifically for
154-
[troubleshooting the debugging feature](https://github.com/golang/vscode-go/wiki/debugging#troubleshooting).
155-
156-
## Ask for help
157-
158-
If the troubleshooting guides did not resolve the issue, please reach out to us
159-
by [filing an issue](https://github.com/golang/vscode-go/issues/new/choose),
160-
[starting a GitHub discussion](https://github.com/golang/vscode-go/discussions),
161-
or by asking a question on [Stack Overflow].
162-
163-
Also, you can take a look at [go.dev/learn](https://go.dev/learn) and
164-
[golang.org/help](https://golang.org/help) for more general guidance on using
165-
Go.
133+
by using [Workspace Folders]. See the
134+
[Supported workspace layouts documentation] for more information.
166135

167136
## Preview version
168137

@@ -174,9 +143,10 @@ nightly build of this extension. Learn how to install it in by reading the
174143

175144
We welcome your contributions and thank you for working to improve the Go
176145
development experience in VS Code. If you would like to help work on the VS Code
177-
Go extension, please see our [contribution guide](https://github.com/golang/vscode-go/wiki/contributing). It
178-
explains how to build and run the extension locally, and describes the process
179-
of sending a contribution.
146+
Go extension, see our
147+
[contribution guide](https://github.com/golang/vscode-go/wiki/contributing) to
148+
learn how to build and run the VS Code Go extension locally and contribute to
149+
the project.
180150

181151
## Code of Conduct
182152

@@ -204,5 +174,5 @@ conduct-related issue, please mail [email protected].
204174
[full feature breakdown]: https://github.com/golang/vscode-go/wiki/features
205175
[workspace documentation]: https://github.com/golang/tools/blob/master/gopls/doc/workspace.md
206176
[`Go: Install/Update Tools` command]: https://github.com/golang/vscode-go/wiki/commands#go-installupdate-tools
207-
[documentation about supported workspace layouts]: https://github.com/golang/tools/blob/master/gopls/doc/workspace.md
177+
[Supported workspace layouts documentation]: https://github.com/golang/tools/blob/master/gopls/doc/workspace.md
208178
[Workspace Folders]: https://code.visualstudio.com/docs/editor/multi-root-workspaces

docs/advanced.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ etc.). The `"go.alternateTools"` setting provides a way to configure the
6161
extension to use different tool location, for example a wrapper with a different
6262
name.
6363

64+
The extension uses pinned versions of command-line tools. See the pinned versions
65+
in tools information
66+
[here](https://github.com/golang/vscode-go/blob/master/src/goToolsInformation.ts).
67+
To use an alternate version of a tool install it manually with with go install.
68+
6469
## Using a custom linter
6570

6671
A commonly customized feature is the linter, which is the tool used to provide

docs/commands.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ Run a test and capture a profile
7979

8080
Delete selected profile
8181

82+
### `Go: Show pprof file`
83+
84+
Internal use. Open a pprof profile file.
85+
8286
### `Go: Benchmark Package`
8387

8488
Runs all benchmarks in the package of the current file.
@@ -263,6 +267,6 @@ Edit the Go Env for the active workspace.
263267

264268
Reset the Go Env for the active workspace.
265269

266-
### `Go: Run Vulncheck (Experimental)`
270+
### `Go: Run Vulncheck (Preview)`
267271

268-
Run go vulncheck.
272+
Run vulnerability check. See https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck for more details about the analysis.

docs/contributing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@ You can run `npm run lint` on the command-line to check for lint errors in your
6969

7070
### Run
7171

72-
To run the extension with your patch, open the Run view (`Ctrl+Shift+D`), select `Launch Extension`, and click the Play button (`F5`).
72+
To run the extension with your patch, open the Run view (`Ctrl+Shift+D` or `⌘+⇧+D`), select `Launch Extension`, and click the Play button (`F5`).
7373
7474
This will open a new VS Code window with the title `[Extension Development Host]`. You can then open a folder that contains Go code and try out your changes.
7575
7676
You can also set breakpoints to debug your change.
7777
78-
If you make subsequent edits in the codebase, you can reload (`Ctrl+R`) the `[Extension Development Host]` instance of VS Code, which will load the new code. The debugger will automatically reattach.
78+
If you make subsequent edits in the codebase, you can reload (`Ctrl+R` or `⌘+R`) the `[Extension Development Host]` instance of VS Code, which will load the new code. The debugger will automatically reattach.
7979
8080
## Test
8181

docs/features.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ This document describes the features supported by this extension.
3535
* [Run your code](#run-your-code)
3636
* [Test and benchmark](#test-and-benchmark)
3737
* [Code coverage](#code-coverage)
38+
* [Profiling](#profiling)
3839
* [Debug your code](#debugging)
3940
* [Other](#other)
4041
* [Go Playground](#go-playground)
@@ -220,14 +221,22 @@ Behind the scenes, the `Debug: Start without Debugging` command calls `go run`.
220221

221222
### Test and benchmark
222223

223-
[Test UI](https://code.visualstudio.com/api/extension-guides/testing) and [Code lenses](https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup) allow users to easily run tests and benchmarks for a given function, file, package, or workspace. Alternatively, the same functionality is available through a set of commands: [`Go: Test Function At Cursor`](commands.md#go-test-function-at-cursor), [`Go: Test File`](commands.md#go-test-file), [`Go: Test Package`](commands.md#go-test-package), and [`Go: Test All Packages in Workspace`](commands.md#go-test-all-packages-in-workspace).
224+
[Test UI](https://code.visualstudio.com/api/extension-guides/testing) and [Code lenses](https://code.visualstudio.com/blogs/2017/02/12/code-lens-roundup) allow users to easily run tests, benchmarks, and profiles for a given function, file, package, or workspace.
225+
226+
Alternatively, the same functionality is available through a set of commands: [`Go: Test Function At Cursor`](commands.md#go-test-function-at-cursor), [`Go: Test File`](commands.md#go-test-file), [`Go: Test Package`](commands.md#go-test-package), and [`Go: Test All Packages in Workspace`](commands.md#go-test-all-packages-in-workspace).
224227

225228
<div style="text-align: center;"><img src="images/testexplorer.gif" alt="Testing UI" style="width: 75%"> </div>
226229

227230
### Code Coverage
228231

229232
Show code coverage in the editor, either after running a test or on-demand. This can be done via the commands: [`Go: Apply Cover Profile`](commands.md#go-apply-cover-profile) and [`Go: Toggle Test Coverage in Current Package`](commands.md#go-toggle-test-coverage-in-current-package).
230233

234+
### Profiling
235+
236+
"Go Test: Profile" menu in [Test UI](https://code.visualstudio.com/api/extension-guides/testing) collects CPU/Memory/Mutex profiles and allows visualizing them using pprof (`go tool pprof`).
237+
238+
<div style="text-align: center;"><img src="images/testexplorer-pprof.gif" alt="Profiling" style="width: 75%"> </div>
239+
231240
## [Debugging](debugging.md)
232241

233242
This extension offers debugging of Go programs. See the [debugging documentation](debugging.md) for more information.

docs/images/testexplorer-pprof.gif

1.4 MB
Loading

0 commit comments

Comments
 (0)