Skip to content

Commit d5e74ea

Browse files
committed
[release] prepare v0.20.0 release
The following is the output of git log --oneline --no-decorate --cherry-pick release..master Some commits were already cherry-picked and released in v0.19.1. 6e8bbba build: run vsce package during testing cf03db6 package.json: update gopls settings based on gopls v0.6.0 1985e90 docs/settings.md: add description of object type settings' properties 4b24e75 package.json: add go.toolsManagement.checkForUpdates 63b4bd1 tools/generate: include deprecationMessage 9fcd568 test: remove symlink tests for substitutePath 0dee1a8 src/goInstallTools: fix broken gocode-gomod install 1812139 src/goLanguageServer: disable language service on guest side completely a1ed38c snippets: add snippet for type function declaration 211c7a6 src/goLanguageServer.ts: update gopls when gopls is turned on by default 93f32bb src/debugAdapter: add substitutePath config for debugging 8b7bc62 src/goLanguageServer: show language server start progress b950da5 test: increase timeout for extension tests bb26907 src/goInstallTools: stop requiring to install legacy tools a9f7034 CHANGELOG: v0.19.1 change 6407dc1 test: fix resolve file names in logs tests for GOPATH 27a25c4 test: fix remote attach tests on windows long tests 43afbf2 src/goInstallTools: fix gocode-gomod installation path 2a643de src/goInstallTools: add reference for incorrect PATH issue 8511760 src/pathUtils: check /usr/local/bin/go for go a6d5d51 src/goDebugConfiguration.ts: offer quick pick menu for creating launch.json da0f1c6 src/goLanguageServer: enable user survey in stable version. 4e42d93 package.json: declare gopls settings as a one property 685e302 src/goLanguageServer: change back revealOutputChannelOn to Never 203dbe9 [master] update CHANGELOG for v0.19.0 4fee2d6 src/goLanguageServer: improve automated gopls log collection f379f50 src/goLanguageServer: prompt users to file an issue if they opted out 49bca83 package.json: mark settings that are not applicable when using gopls 650b8ae src/goDebug: check for undefined launchArgs.packagePathToGoModMap e2d78f1 src/goDebug: fix noDebug mode for windows e8d462e snippets: avoid using "var" as default name in snippets cecb575 package.json: embed autogenerated gopls settings 98e508a tools/goplssetting: use text note instead of emoji for section 8ea68d8 src/testUtils: adjust file path expansion regexp to capture subtest failures 795bf32 package.json: Add "template" property to go.addTags configuration f6c5b08 .github/workflows: update to use env file instead of set-env dd08b76 src/goLanguageServer: suggest updating gopls before filing an issue 9dd4a94 webpack.config.js: ignore warnings from yargs dependency 15a6a04 .github/ISSUE_TEMPLATE: request gopls version Change-Id: Ia0754df12a8b4b2dcf3f02456fe452623d14b6a0
2 parents 5f38caa + 6e8bbba commit d5e74ea

28 files changed

+1757
-242
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ Please direct general questions to:
1212

1313
Please review the [documentation](https://github.com/golang/vscode-go/tree/master/docs) before filing an issue.
1414
Helpful pages include:
15-
15+
1616
- [GOPATH](https://github.com/golang/vscode-go/tree/master/docs/gopath.md)
1717
- [Module Support](https://github.com/golang/vscode-go/tree/master/docs/modules.md)
18+
- [Go Language Server](https://github.com/golang/vscode-go/blob/master/docs/gopls.md)
1819
- [Debugging](https://github.com/golang/vscode-go/tree/master/docs/debugging.md)
1920
- Set "trace": "log" and share the resulting logs in the debug console when logging an issue.
2021

@@ -23,9 +24,11 @@ Please answer these questions before submitting your issue. Thanks!
2324
### What version of Go, VS Code & VS Code Go extension are you using?
2425
- Run `go version` to get version of Go
2526
- <Paste go version here>
27+
- Run `gopls -v version` to get version of Gopls if you are using [the language server](https://github.com/golang/vscode-go/blob/master/docs/gopls.md).
28+
- <Paste gopls version here>
2629
- Run `code -v` or `code-insiders -v` to get version of VS Code or VS Code Insiders
2730
- <Paste VS Code version here>
28-
- Check your installed extensions to get the version of the VS Code Go extension
31+
- Check your installed extensions to get the version of the VS Code Go extension
2932
- <Paste Go extension version here>
3033
- Run `go env` to get the go development environment details
3134
- <Paste the output here>

build/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ ENV PATH /workspace/vscodego/go/bin:/go/bin:/usr/local/go/bin:${PATH}
2727
ENV DEBIAN_FRONTEND noninteractive
2828

2929
RUN apt-get update && apt-get install -y libnss3 libgtk-3-dev libxss1 libasound2 xvfb libsecret-1-0
30+
RUN npm install -g vsce
3031

3132
WORKDIR /workspace
3233
ENTRYPOINT ["build/all.bash"]

build/all.bash

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ run_test() {
5252

5353
echo "**** Run settings generator ****"
5454
go run tools/generate.go -w=false
55+
56+
echo "**** Check if vsce works ****"
57+
vsce package
5558
}
5659

5760
run_test_in_docker() {

docs/debugging.md

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ args | Array of command-line arguments to pass to the program being debugg
110110
showLog | If `true`, Delve logs will be printed in the Debug Console panel.
111111
logOutput | Comma-separated list of Delve components (`debugger`, `gdbwire`, `lldbout`, `debuglineerr`, `rpc`) that should produce debug output when `showLog` is `true`.
112112
buildFlags | Build flags to pass to the Go compiler.
113-
remotePath | If remote debugging (`mode`: `remote`), this should be the absolute path to the package being debugged on the remote machine. See the section on [Remote Debugging](#remote-debugging) for further details. [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) is also relevant.
113+
remotePath | If remote debugging (`mode`: `remote`), this should be the absolute path to the package being debugged on the remote machine. See the section on [Remote Debugging](#remote-debugging) for further details. [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) is also relevant. Becomes the first mapping in substitutePath.
114+
substitutePath | An array of mappings from an absolute local path to an absolute remote path that is used by the debuggee. The debug adapter will replace the local path with the remote path in all of the calls. The mappings are applied in order, and the first matching mapping is used. This can be used to map files that have moved since the program was built, different remote paths, and symlinked files or directories. This is intended to be equivalent to the [substitute-path]((https://github.com/go-delve/delve/tree/master/Documentation/cli#config)(https://github.com/go-delve/delve/tree/master/Documentation/cli#config)) configuration, and will eventually configure substitute-path in Delve directly.
114115
cwd | The working directory to be used in running the program. If remote debugging (`mode`: `remote`), this should be the absolute path to the working directory being debugged on the local machine. See the section on [Remote Debugging](#remote-debugging) for further details. [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) is also relevant.
115116
processId | This is the process ID of the executable you want to debug. Applicable only when using the `attach` request in `local` mode.
116117

@@ -308,7 +309,27 @@ Then, create a remote debug configuration in your `launch.json`.
308309

309310
In the example, the VS Code debugger will run on the same machine as the headless `dlv` server. Make sure to update the `port` and `host` settings to point to your remote machine.
310311

311-
`remotePath` should point to the absolute path of the program being debugged in the remote machine. `cwd` should point to the absolute path of the working directory of the program being debugged on your local machine. This should be the counterpart of the folder in `remotePath`. See [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) for updates regarding `remotePath` and `cwd`.
312+
`remotePath` should point to the absolute path of the program being debugged in the remote machine. `cwd` should point to the absolute path of the working directory of the program being debugged on your local machine. This should be the counterpart of the folder in `remotePath`. See [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) for updates regarding `remotePath` and `cwd`. You can also use the equivalent `substitutePath` configuration.
313+
314+
```json5
315+
{
316+
"name": "Launch remote",
317+
"type": "go",
318+
"request": "attach",
319+
"mode": "remote",
320+
"substitutePath": [
321+
{
322+
"from": "/absolute/path/dir/on/local/machine",
323+
"to": "/absolute/path/dir/on/remote/machine",
324+
},
325+
],
326+
"port": 2345,
327+
"host": "127.0.0.1",
328+
"cwd": "/absolute/path/dir/on/local/machine",
329+
}
330+
```
331+
332+
If you do not set, `remotePath` or `substitutePath`, then the debug adapter will attempt to infer the path mappings. See [golang/vscode-go#45](https://github.com/golang/vscode-go/issues/45) for more information.
312333

313334
When you run the `Launch remote` target, VS Code will send debugging commands to the `dlv` server you started, instead of launching it's own `dlv` instance against your program.
314335

@@ -405,9 +426,25 @@ This error can show up for Mac users using Delve versions 0.12.2 and above. `xco
405426

406427
### Debugging symlink directories
407428

408-
This extension does not provide support for debugging projects containing symlinks. Make sure that you are setting breakpoints in the files that Go will use to compile your program.
429+
Since the debugger and go compiler use the actual filenames, extra configuration is required to debug symlinked directories. Use the `substitutePath` property to tell the debugAdapter how to properly translate the paths. For example, if your project lives in `/path/to/actual/helloWorld`, but the project is open in vscode under the linked folder `/path/to/hello`, you can add the following to your config to set breakpoints in the files in `/path/to/hello`:
430+
431+
```json5
432+
{
433+
"name": "Launch remote",
434+
"type": "go",
435+
"request": "launch",
436+
"mode": "auto",
437+
"program": "/path/to/hello",
438+
"substitutePath": [
439+
{
440+
"from": "/path/to/hello",
441+
"to": "/path/to/actual/helloWorld",
442+
},
443+
],
444+
}
445+
```
409446

410-
For updates to symlink support reference [golang/vscode-go#622](https://github.com/golang/vscode-go/issues/622).
447+
This extension does not provide general support for debugging projects containing symlinks. If `substitutePath` does not meet your needs, please consider commenting on this issue that contains updates to symlink support reference [golang/vscode-go#622](https://github.com/golang/vscode-go/issues/622).
411448

412449
[Delve]: https://github.com/go-delve/delve
413450
[VS Code variables]: https://code.visualstudio.com/docs/editor/variables-reference

0 commit comments

Comments
 (0)