Git Product home page Git Product logo

vscode-remote-try-go's Introduction

Try Out Development Containers: Go

Open in Dev Containers

A development container is a running container with a well-defined tool/runtime stack and its prerequisites. You can try out development containers with GitHub Codespaces or Visual Studio Code Dev Containers.

This is a sample project that lets you try out either option in a few easy steps. We have a variety of other vscode-remote-try-* sample projects, too.

Note: If you already have a Codespace or dev container, you can jump to the Things to try section.

Setting up the development container

GitHub Codespaces

Follow these steps to open this sample in a Codespace:

  1. Click the Code drop-down menu.
  2. Click on the Codespaces tab.
  3. Click Create codespace on main .

For more info, check out the GitHub documentation.

VS Code Dev Containers

If you already have VS Code and Docker installed, you can click the badge above or here to get started. Clicking these links will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.

Follow these steps to open this sample in a container using the VS Code Dev Containers extension:

  1. If this is your first time using a development container, please ensure your system meets the pre-reqs (i.e. have Docker installed) in the getting started steps.

  2. To use this repository, you can either open the repository in an isolated Docker volume:

    • Press F1 and select the Dev Containers: Try a Sample... command.
    • Choose the "Go" sample, wait for the container to start, and try things out!

      Note: Under the hood, this will use the Dev Containers: Clone Repository in Container Volume... command to clone the source code in a Docker volume instead of the local filesystem. Volumes are the preferred mechanism for persisting container data.

    Or open a locally cloned copy of the code:

    • Clone this repository to your local filesystem.
    • Press F1 and select the Dev Containers: Open Folder in Container... command.
    • Select the cloned copy of this folder, wait for the container to start, and try things out!

Things to try

Once you have this sample opened, you'll be able to work with it like you would locally.

Some things to try:

  1. Edit:

    • Open server.go
    • Try adding some code and check out the language features.
    • Make a spelling mistake and notice it is detected. The Code Spell Checker extension was automatically installed because it is referenced in .devcontainer/devcontainer.json.
    • Also notice that utilities like gopls and the Go extension are installed. Tools are installed in the mcr.microsoft.com/devcontainers/go image and Dev Container settings and metadata are automatically picked up from image labels.
  2. Terminal: Press ctrl+shift+` and type uname and other Linux commands from the terminal window.

  3. Build, Run, and Debug:

    • Open server.go
    • Add a breakpoint (e.g. on line 22).
    • Press F5 to launch the app in the container.
    • Once the breakpoint is hit, try hovering over variables, examining locals, and more.
    • Continue (F5). You can connect to the server in the container by either:
      • Clicking on Open in Browser in the notification telling you: Your service running on port 9000 is available.
      • Clicking the globe icon in the 'Ports' view. The 'Ports' view gives you an organized table of your forwarded ports, and you can get there by clicking on the "1" in the status bar, which means your app has 1 forwarded port.
    • Notice port 9000 in the 'Ports' view is labeled "Hello Remote World." In devcontainer.json, you can set "portsAttributes", such as a label for your forwarded ports and the action to be taken when the port is autoforwarded.

    Note: In Dev Containers, you can access your app at http://localhost:9000 in a local browser. But in a browser-based Codespace, you must click the link from the notification or the Ports view so that the service handles port forwarding in the browser and generates the correct URL.

  4. Rebuild or update your container:

    You may want to make changes to your container, such as installing a different version of a software or forwarding a new port. You'll rebuild your container for your changes to take effect.

    Open browser automatically: As an example change, let's update the portsAttributes in the .devcontainer/devcontainer.json file to open a browser when our port is automatically forwarded.

    • Open the .devcontainer/devcontainer.json file.
    • Modify the "onAutoForward" attribute in your portsAttributes from "notify" to "openBrowser".
    • Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.
  5. Install Node.js using a Dev Container Feature:

    • Press F1 and select the Dev Containers: Configure Container Features... or Codespaces: Configure Container Features... command.
    • Type "node" in the text box at the top.
    • Check the check box next to "Node.js (via nvm) and yarn" (published by devcontainers)
    • Click OK
    • Press F1 and select the Dev Containers: Rebuild Container or Codespaces: Rebuild Container command so the modifications are picked up.
  6. Refactoring - rename:

    • Open hello.go, select method name Hello press F1 and run the Rename Symbol command.
  7. Refactoring - extract:

    • Open hello.go and select string, press F1 and run the Go: Extract to variable command.
    • Open hello.go and select line with return statement, press F1 and run the Go: Extract to function command.
  8. Generate tests:

    • Open hello.go and press F1 and run the Go: Generate Unit Tests For File command.
    • Implement a test case: Open file hello_test.go and edit the line with the TODO comment: {"hello without name", "Hello, "},
    • You can toggle between implementation file and test file with press F1 and run the Go: Toggle Test File
    • Tests can also run as benchmarks: Open file hello_test.go, press F1 and run the Go: Benchmark File
  9. Stub generation: ( details)

    • define a struct type mock struct {}, enter a new line , press F1 and run the Go: Generate interface stubs command.
    • edit command m *mock http.ResponseWriter
  10. Fill structs: (details)

  • Open hello.go and select User{} of variable asignment, press F1 and run the Go: Fill struct command.
  1. Add json tags to structs: (details)
  • Open hello.go and go with cursor in to a struct, press F1 and run the Go: Add Tags To Struct Fields command.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

License

Copyright © Microsoft Corporation All rights reserved.
Licensed under the MIT License. See LICENSE in the project root for license information.

vscode-remote-try-go's People

Contributors

alexr00 avatar alitari avatar bamurtaugh avatar chaseadamsio avatar chuxel avatar egamma avatar jorianvo avatar kieferrm avatar marcelom avatar metcalfc avatar microsoftopensource avatar msftgits avatar olguzzar avatar radu-matei avatar samruddhikhandale avatar scor avatar tyriar avatar utamori avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-remote-try-go's Issues

Go fmt and autocomplete imports

Hello

I have a problems with go fmt and autocomplete imports on file save. When Im using go extension without docker and remote container all works and when write code (example):

fmt.Println("test")
       fmt.Println("test")```

on save lint fix it and import for fmt is adding.

With remote container and docker (I used your repo on test) lint and import autocomplete don't work. Ofc I installed also all tools for go extension. When I write `go fmt server.go` lint fixes code.

Is there an official image that has all the go tools installed already?

Im using the latest standard official image: "mcr.microsoft.com/devcontainers/go:dev-1.21"

It doesn't include go tools or at least not the godoc command. I had to manually run go install golang.org/x/tools/cmd/godoc@latest.

Is that expected? Will I have to build my own container image or is there an official one with all the go tools already installed?

Docker image build fails during "go get" (gopls)

The whole "go get" command inside Dockerfile returns a non-zero error code, causing the image build to fail.
I've isolated the failure to the package "gopls":
The command '/bin/sh -c go get -u -v golang.org/x/tools/cmd/gopls' returned a non-zero code: 1

Port forwarding does not work

I cannot access the sample web app from browser with localhost:9000 on my environment.

  • Windows 10 21H1 (19043.1165)
  • WSL2 Distro - Ubuntu 20.04
  • Docker Desktop 4.0.0 (67817)
  • VS Code 1.60.0
    • Remote - Containers

I found that IP/hostname of the server is empty.

http.ListenAndServe(":"+portNumber, nil)

The server seems to listen on IPv6 if we do not specify an IP/hostname.

% lsof -i | grep 9000
__debug_b 8690 tomakabe    4u  IPv6 588770      0t0  TCP *:9000 (LISTEN)

I am not sure but this may be a problem due to IPv6 restriction of Docker Desktop. The following is a similar problem.

Unable to connect to a IPv6 listener with host.docker.internal

Specifying 127.0.0.1 for the server IP will solve the problem. However, it is not ideal for a server app. One of the solutions is to explicitly create a listener with tcp4 like this

func main() {
	portNumber := "9000"
	addr := ":" + portNumber
	l, err := net.Listen("tcp4", addr)
	if err != nil {
		panic(err)
	}
	fmt.Println("Server listening on port ", portNumber)
	http.HandleFunc("/", handle)
	srv := http.Server{}
	srv.Serve(l)
}

Any thoughts?

can't debug on m1 mac

try to run Launch Server in container . but can't run a process.

error message is here

Failed to launch: could not launch process: fork/exec /workspaces/vscode-remote-try-go/__debug_bin: function not implemented

``

Generate Unit Tests For File command does not work

I had an error when I opened hello.go, pressed F1 and ran the Go: Generate Unit Tests For File command. The error states that I do not have a package called gotests installed in my container.

I think I can fix this by adding a post create command property in the devcontainer.json file. May I create a PR?

Run go commands as `vscode` user

When I was playing around with this container using a project that uses go modules, I was unable to compile the code due to a permission issue. In the current container the root user is used to install all go packages. I would like to change this, so the vscode user is used instead. I can create a PR (I already have a working setup), but I'm not sure the current setup is used for a reason, so I thought I'll check it first by creating this issue.

Your version of gopls appears to be out of date.

With this devcontainer I always get the message "Your version of gopls appears to be out of date. Please update for an improved experience."

Would be great if the Dockerfile can already take care of this.

Add a volume to persist `/go/pkg` between runs

I've been using a volume with go to persist the code that go mod pulls down between runs. It's sped things up after I restart a container.

Would you be happy for me to add this to the sample?

Container fails to start with golang 1.14.2

Docker Desktop version 2.2.05 (43884)
Windows 10 Pro Version 1903 Build 18362.778

Steps to reproduce:

  • Clone latest vscode-remote-try-go repo
  • Open in container
    The build container fails to launch against the latest golang 1.14.2 (remoteContainers.log output below)

If you update the golang version to 1.14.1 in the Dockerfile then the container opens as expected.

[2020-05-08T10:02:21.367Z] [PID 16624] [0 ms] Start: Resolving remote
[2020-05-08T10:02:21.370Z] [PID 16624] [3 ms] Setting up container for folder or workspace: d:\atlas\vscode-remote-try-go


[2020-05-08T10:02:21.390Z] [PID 16624] [23 ms] Start: Check Docker is running
[2020-05-08T10:02:21.391Z] [PID 16624] [24 ms] Start: Run: docker info
[2020-05-08T10:02:21.617Z] [PID 16624] [249 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=d:\atlas\vscode-remote-try-go --filter label=vsch.quality=stable
[2020-05-08T10:02:21.710Z] [PID 16624] [343 ms] Start: Run: docker build -f d:\atlas\vscode-remote-try-go\.devcontainer\Dockerfile -t vsc-vscode-remote-try-go-3e25e53149fcfb49e58bf4693d24dcf2 d:\atlas\vscode-remote-try-go\.devcontainer
[2020-05-08T10:02:21.809Z] [PID 16624] 
[2020-05-08T10:02:22.123Z] [PID 16624] Sending build context to Docker daemon  7.168kB
[2020-05-08T10:02:22.184Z] [PID 16624] Step 1/8 : FROM golang:1
 ---> 7ced090ee82e
Step 2/8 : ENV DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> a97e09eaa956
Step 3/8 : ARG USERNAME=vscode
 ---> Using cache
 ---> fd307ccb186f
Step 4/8 : ARG USER_UID=1000
 ---> Using cache
 ---> e95d22c56b9f
Step 5/8 : ARG USER_GID=$USER_UID
 ---> Using cache
 ---> e86e457454dd
Step 6/8 : RUN apt-get update     && apt-get -y install --no-install-recommends
apt-utils dialog 2>&1     && apt-get -y install git openssh-client less iproute2
 procps lsb-release     && mkdir -p /tmp/gotools     && cd /tmp/gotools     && G
OPATH=/tmp/gotools GO111MODULE=on go get -v golang.org/x/tools/gopls@latest 2>&1
     && GOPATH=/tmp/gotools GO111MODULE=on go get -v         honnef.co/go/tools/
...@latest         golang.org/x/tools/cmd/gorename@latest         golang.org/x/t
ools/cmd/goimports@latest         golang.org/x/tools/cmd/guru@latest         gol
ang.org/x/lint/golint@latest         github.com/mdempsky/gocode@latest         g
ithub.com/cweill/gotests/...@latest         github.com/haya14busa/goplay/cmd/gop
lay@latest         github.com/sqs/goreturns@latest         github.com/josharian/
impl@latest         github.com/davidrjenni/reftools/cmd/fillstruct@latest
  github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest          github.com/ramya-rao-a
/go-outline@latest          github.com/acroca/go-symbols@latest          github.
com/godoctor/godoctor@latest          github.com/rogpeppe/godef@latest
github.com/zmb3/gogetdoc@latest         github.com/fatih/gomodifytags@latest
      github.com/mgechev/revive@latest          github.com/go-delve/delve/cmd/dl
v@latest 2>&1     && GOPATH=/tmp/gotools go get -v github.com/alecthomas/gometal
inter 2>&1     && GOPATH=/tmp/gotools go get -x -d github.com/stamblerre/gocode
2>&1     && GOPATH=/tmp/gotools go build -o gocode-gomod github.com/stamblerre/g
ocode     && mv /tmp/gotools/bin/* /usr/local/bin/     && mv gocode-gomod /usr/l
ocal/bin/     && curl -sSfL https://raw.githubusercontent.com/golangci/golangci-
lint/master/install.sh | sh -s -- -b /usr/local/bin 2>&1     && groupadd --gid $
USER_GID $USERNAME     && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -
m $USERNAME     && apt-get install -y sudo     && echo $USERNAME ALL=\(root\) NO
PASSWD:ALL > /etc/sudoers.d/$USERNAME     && chmod 0440 /etc/sudoers.d/$USERNAME
     && apt-get autoremove -y     && apt-get clean -y     && rm -rf /var/lib/apt
/lists/* /tmp/gotools
[2020-05-08T10:02:22.218Z] [PID 16624]  ---> Running in 7156bdad2207
[2020-05-08T10:02:22.496Z] [PID 16624] Get:1 http://security.debian.org/debian-security stretch/updates InRelease [94.3
 kB]
[2020-05-08T10:02:22.532Z] [PID 16624] Ign:2 http://deb.debian.org/debian stretch InRelease
Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
[2020-05-08T10:02:22.628Z] [PID 16624] Get:4 http://deb.debian.org/debian stretch Release [118 kB]
[2020-05-08T10:02:22.655Z] [PID 16624] Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 Pack
ages [526 kB]
Get:6 http://deb.debian.org/debian stretch Release.gpg [2410 B]
[2020-05-08T10:02:22.748Z] [PID 16624] Get:7 http://deb.debian.org/debian stretch-updates/main amd64 Packages [27.9 kB]
[2020-05-08T10:02:22.844Z] [PID 16624] Get:8 http://deb.debian.org/debian stretch/main amd64 Packages [7083 kB]
[2020-05-08T10:02:24.625Z] [PID 16624] Fetched 7943 kB in 2s (3647 kB/s)
Reading package lists...
[2020-05-08T10:02:25.185Z] [PID 16624] 
[2020-05-08T10:02:25.220Z] [PID 16624] Reading package lists...
[2020-05-08T10:02:25.751Z] [PID 16624] 
[2020-05-08T10:02:25.777Z] [PID 16624] Building dependency tree...
[2020-05-08T10:02:25.874Z] [PID 16624] 
Reading state information...
[2020-05-08T10:02:25.971Z] [PID 16624] The following additional packages will be installed:
  libapt-inst2.0
The following NEW packages will be installed:
  apt-utils dialog libapt-inst2.0
[2020-05-08T10:02:25.997Z] [PID 16624] 
[2020-05-08T10:02:26.032Z] [PID 16624] 0 upgraded, 3 newly installed, 0 to remove and 33 not upgraded.
Need to get 865 kB of archives.
After this operation, 2744 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 libapt-inst2.0 amd64 1.4.9
 [192 kB]
[2020-05-08T10:02:26.092Z] [PID 16624] Get:2 http://deb.debian.org/debian stretch/main amd64 apt-utils amd64 1.4.9 [410
 kB]
[2020-05-08T10:02:26.153Z] [PID 16624] Get:3 http://deb.debian.org/debian stretch/main amd64 dialog amd64 1.3-20160828-
2 [262 kB]
[2020-05-08T10:02:26.276Z] [PID 16624] debconf: delaying package configuration, since apt-utils is not installed
[2020-05-08T10:02:26.312Z] [PID 16624] Fetched 865 kB in 0s (4777 kB/s)
Selecting previously unselected package libapt-inst2.0:amd64.
(Reading database ... 15090 files and directories currently installed.)
[2020-05-08T10:02:26.338Z] [PID 16624] 
Preparing to unpack .../libapt-inst2.0_1.4.9_amd64.deb ...
Unpacking libapt-inst2.0:amd64 (1.4.9) ...
[2020-05-08T10:02:26.372Z] [PID 16624] Selecting previously unselected package apt-utils.
Preparing to unpack .../apt-utils_1.4.9_amd64.deb ...
Unpacking apt-utils (1.4.9) ...
[2020-05-08T10:02:26.433Z] [PID 16624] Selecting previously unselected package dialog.
Preparing to unpack .../dialog_1.3-20160828-2_amd64.deb ...
Unpacking dialog (1.3-20160828-2) ...
[2020-05-08T10:02:26.502Z] [PID 16624] Setting up libapt-inst2.0:amd64 (1.4.9) ...
[2020-05-08T10:02:26.528Z] [PID 16624] Setting up dialog (1.3-20160828-2) ...
Setting up apt-utils (1.4.9) ...
[2020-05-08T10:02:26.562Z] [PID 16624] Processing triggers for libc-bin (2.24-11+deb9u4) ...
[2020-05-08T10:02:26.588Z] [PID 16624] Reading package lists...
[2020-05-08T10:02:27.124Z] [PID 16624] 
[2020-05-08T10:02:27.159Z] [PID 16624] Building dependency tree...
[2020-05-08T10:02:27.244Z] [PID 16624] 
Reading state information...
[2020-05-08T10:02:27.339Z] [PID 16624] iproute2 is already the newest version (4.9.0-1+deb9u1).
procps is already the newest version (2:3.3.12-3+deb9u1).
The following additional packages will be installed:
  dh-python distro-info-data libmpdec2 libpython3-stdlib libpython3.5-minimal
  libpython3.5-stdlib python3 python3-minimal python3.5 python3.5-minimal
Suggested packages:
  gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email
  git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn lsb keychain
  libpam-ssh monkeysphere ssh-askpass python3-doc python3-tk python3-venv
  python3.5-venv python3.5-doc binfmt-support
Recommended packages:
  patch rsync xauth
[2020-05-08T10:02:27.494Z] [PID 16624] The following NEW packages will be installed:
  dh-python distro-info-data less libmpdec2 libpython3-stdlib
  libpython3.5-minimal libpython3.5-stdlib lsb-release python3 python3-minimal
  python3.5 python3.5-minimal
The following packages will be upgraded:
  git openssh-client
[2020-05-08T10:02:27.530Z] [PID 16624] 2 upgraded, 12 newly installed, 0 to remove and 31 not upgraded.
Need to get 10.0 MB of archives.
After this operation, 25.2 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 libpython3.5-minimal amd64
 3.5.3-1+deb9u1 [573 kB]
[2020-05-08T10:02:27.564Z] [PID 16624] Get:2 http://security.debian.org/debian-security stretch/updates/main amd64 git
amd64 1:2.11.0-3+deb9u7 [4170 kB]
[2020-05-08T10:02:27.651Z] [PID 16624] Get:3 http://deb.debian.org/debian stretch/main amd64 python3.5-minimal amd64 3.
5.3-1+deb9u1 [1691 kB]
[2020-05-08T10:02:27.940Z] [PID 16624] Get:4 http://deb.debian.org/debian stretch/main amd64 python3-minimal amd64 3.5.
3-1 [35.3 kB]
Get:5 http://deb.debian.org/debian stretch/main amd64 libmpdec2 amd64 2.4.2-1 [8
5.2 kB]
[2020-05-08T10:02:27.966Z] [PID 16624] Get:6 http://deb.debian.org/debian stretch/main amd64 libpython3.5-stdlib amd64
3.5.3-1+deb9u1 [2167 kB]
[2020-05-08T10:02:28.315Z] [PID 16624] Get:7 http://deb.debian.org/debian stretch/main amd64 python3.5 amd64 3.5.3-1+de
b9u1 [229 kB]
[2020-05-08T10:02:28.341Z] [PID 16624] Get:8 http://deb.debian.org/debian stretch/main amd64 libpython3-stdlib amd64 3.
5.3-1 [18.6 kB]
Get:9 http://deb.debian.org/debian stretch/main amd64 dh-python all 2.20170125 [
86.8 kB]
Get:10 http://deb.debian.org/debian stretch/main amd64 python3 amd64 3.5.3-1 [21
[2020-05-08T10:02:28.376Z] [PID 16624] 
.6 kB]
Get:11 http://deb.debian.org/debian stretch/main amd64 less amd64 481-2.1 [126 k
B]
Get:12 http://deb.debian.org/debian stretch/main amd64 openssh-client amd64 1:7.
4p1-10+deb9u7 [780 kB]
[2020-05-08T10:02:28.499Z] [PID 16624] Get:13 http://deb.debian.org/debian stretch/main amd64 distro-info-data all 0.36
 [5810 B]
Get:14 http://deb.debian.org/debian stretch/main amd64 lsb-release all 9.2016112
5 [27.1 kB]
[2020-05-08T10:02:29.431Z] [PID 16624] Fetched 10.0 MB in 1s (8132 kB/s)
(Reading database ... 90%
[2020-05-08T10:02:29.472Z] [PID 16624] (Reading database ... 15387 files and directories currently installed.)
Preparing to unpack .../0-git_1%3a2.11.0-3+deb9u7_amd64.deb ...
[2020-05-08T10:02:29.500Z] [PID 16624] Unpacking git (1:2.11.0-3+deb9u7) over (1:2.11.0-3+deb9u4) ...
[2020-05-08T10:02:30.964Z] [PID 16624] Selecting previously unselected package libpython3.5-minimal:amd64.
Preparing to unpack .../1-libpython3.5-minimal_3.5.3-1+deb9u1_amd64.deb ...
Unpacking libpython3.5-minimal:amd64 (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:31.058Z] [PID 16624] Selecting previously unselected package python3.5-minimal.
Preparing to unpack .../2-python3.5-minimal_3.5.3-1+deb9u1_amd64.deb ...
[2020-05-08T10:02:31.093Z] [PID 16624] Unpacking python3.5-minimal (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:31.283Z] [PID 16624] Selecting previously unselected package python3-minimal.
Preparing to unpack .../3-python3-minimal_3.5.3-1_amd64.deb ...
Unpacking python3-minimal (3.5.3-1) ...
[2020-05-08T10:02:31.309Z] [PID 16624] Selecting previously unselected package libmpdec2:amd64.
Preparing to unpack .../4-libmpdec2_2.4.2-1_amd64.deb ...
Unpacking libmpdec2:amd64 (2.4.2-1) ...
[2020-05-08T10:02:31.345Z] [PID 16624] Selecting previously unselected package libpython3.5-stdlib:amd64.
Preparing to unpack .../5-libpython3.5-stdlib_3.5.3-1+deb9u1_amd64.deb ...
Unpacking libpython3.5-stdlib:amd64 (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:31.596Z] [PID 16624] Selecting previously unselected package python3.5.
Preparing to unpack .../6-python3.5_3.5.3-1+deb9u1_amd64.deb ...
Unpacking python3.5 (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:31.659Z] [PID 16624] Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../7-libpython3-stdlib_3.5.3-1_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.5.3-1) ...
Selecting previously unselected package dh-python.
Preparing to unpack .../8-dh-python_2.20170125_all.deb ...
[2020-05-08T10:02:31.685Z] [PID 16624] 
Unpacking dh-python (2.20170125) ...
[2020-05-08T10:02:31.720Z] [PID 16624] Setting up libpython3.5-minimal:amd64 (3.5.3-1+deb9u1) ...
Setting up python3.5-minimal (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:32.156Z] [PID 16624] Setting up python3-minimal (3.5.3-1) ...
[2020-05-08T10:02:32.346Z] [PID 16624] Selecting previously unselected package python3.
(Reading database ... 16301 files and directories currently installed.)
Preparing to unpack .../python3_3.5.3-1_amd64.deb ...
Unpacking python3 (3.5.3-1) ...
[2020-05-08T10:02:32.407Z] [PID 16624] Selecting previously unselected package less.
Preparing to unpack .../less_481-2.1_amd64.deb ...
Unpacking less (481-2.1) ...
[2020-05-08T10:02:32.433Z] [PID 16624] Preparing to unpack .../openssh-client_1%3a7.4p1-10+deb9u7_amd64.deb ...
[2020-05-08T10:02:32.468Z] [PID 16624] Unpacking openssh-client (1:7.4p1-10+deb9u7) over (1:7.4p1-10+deb9u6) ...
[2020-05-08T10:02:32.626Z] [PID 16624] Selecting previously unselected package distro-info-data.
Preparing to unpack .../distro-info-data_0.36_all.deb ...
Unpacking distro-info-data (0.36) ...
[2020-05-08T10:02:32.651Z] [PID 16624] Selecting previously unselected package lsb-release.
Preparing to unpack .../lsb-release_9.20161125_all.deb ...
Unpacking lsb-release (9.20161125) ...
[2020-05-08T10:02:32.685Z] [PID 16624] Setting up less (481-2.1) ...
[2020-05-08T10:02:32.782Z] [PID 16624] Processing triggers for mime-support (3.60) ...
Setting up distro-info-data (0.36) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
[2020-05-08T10:02:32.807Z] [PID 16624] Setting up openssh-client (1:7.4p1-10+deb9u7) ...
[2020-05-08T10:02:32.842Z] [PID 16624] Setting up git (1:2.11.0-3+deb9u7) ...
[2020-05-08T10:02:32.877Z] [PID 16624] Setting up libmpdec2:amd64 (2.4.2-1) ...
Setting up libpython3.5-stdlib:amd64 (3.5.3-1+deb9u1) ...
Setting up python3.5 (3.5.3-1+deb9u1) ...
[2020-05-08T10:02:33.843Z] [PID 16624] Setting up libpython3-stdlib:amd64 (3.5.3-1) ...
Setting up python3 (3.5.3-1) ...
[2020-05-08T10:02:34.157Z] [PID 16624] Setting up lsb-release (9.20161125) ...
Setting up dh-python (2.20170125) ...
[2020-05-08T10:02:34.312Z] [PID 16624] Processing triggers for libc-bin (2.24-11+deb9u4) ...
[2020-05-08T10:02:34.371Z] [PID 16624] Fetching https://golang.org/x/tools/gopls?go-get=1
[2020-05-08T10:02:34.588Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools/gopls?go-get=1 (status code 20
0)
get "golang.org/x/tools/gopls": found meta tag get.metaImport{Prefix:"golang.org
/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://g
olang.org/x/tools/gopls?go-get=1
get "golang.org/x/tools/gopls": verifying non-authoritative meta tag
Fetching https://golang.org/x/tools?go-get=1
[2020-05-08T10:02:34.719Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
[2020-05-08T10:02:35.093Z] [PID 16624] go: finding golang.org/x/tools/gopls v0.4.0
[2020-05-08T10:02:36.535Z] [PID 16624] Fetching https://golang.org/x/tools?go-get=1
Fetching https://honnef.co/go/tools?go-get=1
Fetching https://mvdan.cc/xurls/v2?go-get=1
[2020-05-08T10:02:36.560Z] [PID 16624] go: finding github.com/sergi/go-diff v1.1.0
[2020-05-08T10:02:36.620Z] [PID 16624] Parsing meta tags from https://mvdan.cc/xurls/v2?go-get=1 (status code 200)
get "mvdan.cc/xurls/v2": found meta tag get.metaImport{Prefix:"mvdan.cc/xurls",
VCS:"git", RepoRoot:"https://github.com/mvdan/xurls"} at https://mvdan.cc/xurls/
v2?go-get=1
get "mvdan.cc/xurls/v2": verifying non-authoritative meta tag
Fetching https://mvdan.cc/xurls?go-get=1
Parsing meta tags from https://mvdan.cc/xurls?go-get=1 (status code 200)
[2020-05-08T10:02:36.656Z] [PID 16624] go: finding mvdan.cc/xurls/v2 v2.1.0
Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
get "golang.org/x/tools": found meta tag get.metaImport{Prefix:"golang.org/x/too
ls", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.
org/x/tools?go-get=1
go: finding golang.org/x/tools v0.0.0-20200407041343-bf15fae40dea
[2020-05-08T10:02:36.909Z] [PID 16624] Parsing meta tags from https://honnef.co/go/tools?go-get=1 (status code 200)
get "honnef.co/go/tools": found meta tag get.metaImport{Prefix:"honnef.co/go/too
ls", VCS:"git", RepoRoot:"https://github.com/dominikh/go-tools"} at https://honn
ef.co/go/tools?go-get=1
go: finding honnef.co/go/tools v0.0.1-2020.1.3
[2020-05-08T10:02:38.532Z] [PID 16624] Fetching https://gopkg.in/check.v1?go-get=1
Fetching https://gopkg.in/yaml.v2?go-get=1
go: finding github.com/stretchr/testify v1.4.0
go: finding github.com/kr/pretty v0.1.0
go: finding github.com/davecgh/go-spew v1.1.1
[2020-05-08T10:02:39.026Z] [PID 16624] Parsing meta tags from https://gopkg.in/check.v1?go-get=1 (status code 200)
get "gopkg.in/check.v1": found meta tag get.metaImport{Prefix:"gopkg.in/check.v1
", VCS:"git", RepoRoot:"https://gopkg.in/check.v1"} at https://gopkg.in/check.v1
?go-get=1
go: finding gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
[2020-05-08T10:02:39.158Z] [PID 16624] Parsing meta tags from https://gopkg.in/yaml.v2?go-get=1 (status code 200)
get "gopkg.in/yaml.v2": found meta tag get.metaImport{Prefix:"gopkg.in/yaml.v2",
 VCS:"git", RepoRoot:"https://gopkg.in/yaml.v2"} at https://gopkg.in/yaml.v2?go-
get=1
go: finding gopkg.in/yaml.v2 v2.2.4
[2020-05-08T10:02:39.910Z] [PID 16624] go: finding golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d
go: finding github.com/rogpeppe/go-internal v1.3.0
go: finding github.com/BurntSushi/toml v0.3.1
go: finding github.com/kisielk/gotool v1.0.0
[2020-05-08T10:02:40.686Z] [PID 16624] go: finding github.com/google/renameio v0.1.0
[2020-05-08T10:02:40.905Z] [PID 16624] go: finding github.com/kr/text v0.1.0
[2020-05-08T10:02:41.026Z] [PID 16624] go: finding github.com/stretchr/objx v0.1.0
[2020-05-08T10:02:41.625Z] [PID 16624] go: finding github.com/pmezard/go-difflib v1.0.0
[2020-05-08T10:02:41.785Z] [PID 16624] Fetching https://golang.org/x/mod?go-get=1
[2020-05-08T10:02:41.872Z] [PID 16624] Parsing meta tags from https://golang.org/x/mod?go-get=1 (status code 200)
get "golang.org/x/mod": found meta tag get.metaImport{Prefix:"golang.org/x/mod",
 VCS:"git", RepoRoot:"https://go.googlesource.com/mod"} at https://golang.org/x/
mod?go-get=1
[2020-05-08T10:02:41.908Z] [PID 16624] go: finding golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e
[2020-05-08T10:02:42.030Z] [PID 16624] go: finding github.com/davecgh/go-spew v1.1.0
[2020-05-08T10:02:42.185Z] [PID 16624] go: finding gopkg.in/yaml.v2 v2.2.2
[2020-05-08T10:02:42.342Z] [PID 16624] Fetching https://golang.org/x/xerrors?go-get=1
[2020-05-08T10:02:42.436Z] [PID 16624] Parsing meta tags from https://golang.org/x/xerrors?go-get=1 (status code 200)
get "golang.org/x/xerrors": found meta tag get.metaImport{Prefix:"golang.org/x/x
errors", VCS:"git", RepoRoot:"https://go.googlesource.com/xerrors"} at https://g
olang.org/x/xerrors?go-get=1
go: finding golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: finding golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
[2020-05-08T10:02:42.471Z] [PID 16624] Fetching https://golang.org/x/net?go-get=1
[2020-05-08T10:02:42.592Z] [PID 16624] Fetching https://golang.org/x/sync?go-get=1
Parsing meta tags from https://golang.org/x/net?go-get=1 (status code 200)
get "golang.org/x/net": found meta tag get.metaImport{Prefix:"golang.org/x/net",
 VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at https://golang.org/x/
net?go-get=1
go: finding golang.org/x/net v0.0.0-20190620200207-3b0461eec859
[2020-05-08T10:02:42.687Z] [PID 16624] Parsing meta tags from https://golang.org/x/sync?go-get=1 (status code 200)
get "golang.org/x/sync": found meta tag get.metaImport{Prefix:"golang.org/x/sync
", VCS:"git", RepoRoot:"https://go.googlesource.com/sync"} at https://golang.org
/x/sync?go-get=1
go: finding golang.org/x/sync v0.0.0-20190423024810-112230192c58
[2020-05-08T10:02:42.714Z] [PID 16624] Fetching https://gopkg.in/errgo.v2?go-get=1
[2020-05-08T10:02:42.749Z] [PID 16624] 
[2020-05-08T10:02:43.124Z] [PID 16624] go: finding github.com/yuin/goldmark v1.1.27
[2020-05-08T10:02:43.150Z] [PID 16624] Parsing meta tags from https://gopkg.in/errgo.v2?go-get=1 (status code 200)
get "gopkg.in/errgo.v2": found meta tag get.metaImport{Prefix:"gopkg.in/errgo.v2
", VCS:"git", RepoRoot:"https://gopkg.in/errgo.v2"} at https://gopkg.in/errgo.v2
?go-get=1
[2020-05-08T10:02:43.185Z] [PID 16624] go: finding gopkg.in/errgo.v2 v2.1.0
go: finding github.com/kr/pty v1.1.1
[2020-05-08T10:02:43.245Z] [PID 16624] go: finding golang.org/x/mod v0.2.0
Fetching https://golang.org/x/crypto?go-get=1
[2020-05-08T10:02:43.281Z] [PID 16624] go: finding golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
[2020-05-08T10:02:43.376Z] [PID 16624] Parsing meta tags from https://golang.org/x/crypto?go-get=1 (status code 200)
get "golang.org/x/crypto": found meta tag get.metaImport{Prefix:"golang.org/x/cr
ypto", VCS:"git", RepoRoot:"https://go.googlesource.com/crypto"} at https://gola
ng.org/x/crypto?go-get=1
go: finding golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529
go: finding golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
go: finding golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
go: finding golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
[2020-05-08T10:02:43.435Z] [PID 16624] go: finding golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
[2020-05-08T10:02:44.431Z] [PID 16624] go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
[2020-05-08T10:02:45.432Z] [PID 16624] Fetching https://golang.org/x/sys?go-get=1
Fetching https://golang.org/x/text?go-get=1
go: finding golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
[2020-05-08T10:02:45.528Z] [PID 16624] Parsing meta tags from https://golang.org/x/sys?go-get=1 (status code 200)
Parsing meta tags from https://golang.org/x/text?go-get=1 (status code 200)
get "golang.org/x/sys": found meta tag get.metaImport{Prefix:"golang.org/x/sys",
 VCS:"git", RepoRoot:"https://go.googlesource.com/sys"} at https://golang.org/x/
sys?go-get=1
get "golang.org/x/text": found meta tag get.metaImport{Prefix:"golang.org/x/text
", VCS:"git", RepoRoot:"https://go.googlesource.com/text"} at https://golang.org
/x/text?go-get=1
[2020-05-08T10:02:45.563Z] [PID 16624] go: finding golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: finding golang.org/x/text v0.3.0
[2020-05-08T10:02:45.588Z] [PID 16624] go: finding gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
[2020-05-08T10:02:46.087Z] [PID 16624] go: finding golang.org/x/sys v0.0.0-20190412213103-97732733099d
go: finding golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
[2020-05-08T10:02:49.159Z] [PID 16624] go: downloading golang.org/x/tools v0.0.0-20200407041343-bf15fae40dea
[2020-05-08T10:02:50.217Z] [PID 16624] go: extracting golang.org/x/tools v0.0.0-20200407041343-bf15fae40dea
[2020-05-08T10:02:50.407Z] [PID 16624] go: downloading golang.org/x/tools/gopls v0.4.0
[2020-05-08T10:02:50.468Z] [PID 16624] go: extracting golang.org/x/tools/gopls v0.4.0
go: downloading github.com/sergi/go-diff v1.1.0
[2020-05-08T10:02:50.494Z] [PID 16624] go: downloading golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: extracting github.com/sergi/go-diff v1.1.0
go: downloading honnef.co/go/tools v0.0.1-2020.1.3
go: downloading mvdan.cc/xurls/v2 v2.1.0
[2020-05-08T10:02:50.529Z] [PID 16624] go: extracting golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
go: downloading golang.org/x/mod v0.2.0
go: downloading golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
go: extracting mvdan.cc/xurls/v2 v2.1.0
[2020-05-08T10:02:50.564Z] [PID 16624] go: extracting golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e
[2020-05-08T10:02:50.590Z] [PID 16624] go: extracting golang.org/x/mod v0.2.0
[2020-05-08T10:02:50.721Z] [PID 16624] go: extracting honnef.co/go/tools v0.0.1-2020.1.3
[2020-05-08T10:02:50.783Z] [PID 16624] go: downloading github.com/BurntSushi/toml v0.3.1
[2020-05-08T10:02:50.809Z] [PID 16624] go: extracting github.com/BurntSushi/toml v0.3.1
[2020-05-08T10:02:51.025Z] [PID 16624] golang.org/x/mod/semver
golang.org/x/xerrors/internal
honnef.co/go/tools/arg
[2020-05-08T10:02:51.059Z] [PID 16624] github.com/sergi/go-diff/diffmatchpatch
golang.org/x/tools/internal/span
golang.org/x/mod/internal/lazyregexp
golang.org/x/xerrors
[2020-05-08T10:02:51.095Z] [PID 16624] golang.org/x/tools/go/ast/astutil
[2020-05-08T10:02:51.156Z] [PID 16624] golang.org/x/mod/module
[2020-05-08T10:02:51.217Z] [PID 16624] golang.org/x/tools/internal/lsp/diff
[2020-05-08T10:02:51.277Z] [PID 16624] golang.org/x/mod/modfile
golang.org/x/tools/go/analysis/passes/internal/analysisutil
golang.org/x/tools/go/ast/inspector
[2020-05-08T10:02:51.311Z] [PID 16624] golang.org/x/tools/go/cfg
[2020-05-08T10:02:51.345Z] [PID 16624] golang.org/x/tools/go/internal/gcimporter
golang.org/x/tools/internal/analysisinternal
[2020-05-08T10:02:51.407Z] [PID 16624] golang.org/x/tools/go/analysis
[2020-05-08T10:02:51.432Z] [PID 16624] golang.org/x/tools/go/types/typeutil
[2020-05-08T10:02:51.502Z] [PID 16624] golang.org/x/tools/go/analysis/passes/asmdecl
[2020-05-08T10:02:51.528Z] [PID 16624] golang.org/x/tools/go/analysis/passes/inspect
golang.org/x/tools/go/analysis/passes/buildtag
[2020-05-08T10:02:51.563Z] [PID 16624] golang.org/x/tools/go/analysis/passes/assign
[2020-05-08T10:02:51.622Z] [PID 16624] golang.org/x/tools/go/analysis/passes/atomic
golang.org/x/tools/go/analysis/passes/atomicalign
[2020-05-08T10:02:51.659Z] [PID 16624] golang.org/x/tools/go/analysis/passes/bools
[2020-05-08T10:02:51.684Z] [PID 16624] golang.org/x/tools/go/analysis/passes/cgocall
golang.org/x/tools/go/analysis/passes/composite
[2020-05-08T10:02:51.745Z] [PID 16624] golang.org/x/tools/go/analysis/passes/copylock
golang.org/x/tools/go/analysis/passes/deepequalerrors
[2020-05-08T10:02:51.781Z] [PID 16624] golang.org/x/tools/go/analysis/passes/errorsas
[2020-05-08T10:02:51.806Z] [PID 16624] golang.org/x/tools/go/analysis/passes/httpresponse
golang.org/x/tools/go/analysis/passes/loopclosure
[2020-05-08T10:02:51.840Z] [PID 16624] golang.org/x/tools/go/analysis/passes/ctrlflow
golang.org/x/tools/go/analysis/passes/nilfunc
golang.org/x/tools/go/analysis/passes/printf
[2020-05-08T10:02:51.875Z] [PID 16624] golang.org/x/tools/go/analysis/passes/shift
golang.org/x/tools/go/analysis/passes/sortslice
golang.org/x/tools/go/analysis/passes/lostcancel
[2020-05-08T10:02:51.936Z] [PID 16624] golang.org/x/tools/go/analysis/passes/stdmethods
golang.org/x/tools/go/analysis/passes/structtag
[2020-05-08T10:02:51.972Z] [PID 16624] golang.org/x/tools/go/analysis/passes/testinggoroutine
[2020-05-08T10:02:51.997Z] [PID 16624] golang.org/x/tools/go/analysis/passes/tests
golang.org/x/tools/go/analysis/passes/unmarshal
[2020-05-08T10:02:52.033Z] [PID 16624] golang.org/x/tools/go/analysis/passes/unreachable
golang.org/x/tools/go/analysis/passes/unsafeptr
[2020-05-08T10:02:52.058Z] [PID 16624] golang.org/x/tools/go/analysis/passes/unusedresult
golang.org/x/tools/go/gcexportdata
golang.org/x/tools/internal/gocommand
[2020-05-08T10:02:52.093Z] [PID 16624] golang.org/x/tools/internal/packagesinternal
golang.org/x/tools/internal/fastwalk
golang.org/x/tools/internal/lsp/analysis/fillreturns
golang.org/x/tools/internal/lsp/analysis/nonewvars
[2020-05-08T10:02:52.128Z] [PID 16624] golang.org/x/tools/go/internal/packagesdriver
golang.org/x/tools/internal/gopathwalk
[2020-05-08T10:02:52.153Z] [PID 16624] golang.org/x/tools/internal/lsp/analysis/noresultvalues
golang.org/x/tools/internal/lsp/analysis/simplifycompositelit
[2020-05-08T10:02:52.190Z] [PID 16624] golang.org/x/tools/go/packages
golang.org/x/tools/internal/lsp/analysis/simplifyrange
golang.org/x/tools/internal/imports
[2020-05-08T10:02:52.215Z] [PID 16624] 
golang.org/x/tools/internal/lsp/analysis/simplifyslice
golang.org/x/tools/internal/lsp/analysis/undeclaredname
[2020-05-08T10:02:52.251Z] [PID 16624] golang.org/x/tools/internal/lsp/analysis/unusedparams
golang.org/x/tools/internal/telemetry/event
[2020-05-08T10:02:52.310Z] [PID 16624] golang.org/x/tools/internal/lsp/diff/myers
[2020-05-08T10:02:52.371Z] [PID 16624] golang.org/x/tools/internal/lsp/fuzzy
[2020-05-08T10:02:52.433Z] [PID 16624] golang.org/x/tools/internal/lsp/debug/tag
[2020-05-08T10:02:52.467Z] [PID 16624] golang.org/x/tools/internal/jsonrpc2
golang.org/x/tools/internal/xcontext
[2020-05-08T10:02:52.502Z] [PID 16624] golang.org/x/tools/internal/lsp/snippet
[2020-05-08T10:02:52.528Z] [PID 16624] golang.org/x/tools/refactor/satisfy
[2020-05-08T10:02:52.562Z] [PID 16624] honnef.co/go/tools/ir
[2020-05-08T10:02:52.587Z] [PID 16624] golang.org/x/tools/internal/lsp/protocol
[2020-05-08T10:02:52.657Z] [PID 16624] honnef.co/go/tools/go/types/typeutil
[2020-05-08T10:02:52.717Z] [PID 16624] golang.org/x/tools/go/types/objectpath
[2020-05-08T10:02:52.752Z] [PID 16624] github.com/BurntSushi/toml
[2020-05-08T10:02:52.846Z] [PID 16624] honnef.co/go/tools/internal/robustio
[2020-05-08T10:02:52.872Z] [PID 16624] honnef.co/go/tools/internal/renameio
[2020-05-08T10:02:52.908Z] [PID 16624] honnef.co/go/tools/internal/cache
[2020-05-08T10:02:53.002Z] [PID 16624] golang.org/x/tools/internal/lsp/source
[2020-05-08T10:02:53.096Z] [PID 16624] honnef.co/go/tools/loader
[2020-05-08T10:02:53.157Z] [PID 16624] honnef.co/go/tools/config
golang.org/x/tools/go/buildutil
[2020-05-08T10:02:53.251Z] [PID 16624] honnef.co/go/tools/version
[2020-05-08T10:02:53.277Z] [PID 16624] honnef.co/go/tools/deprecated
[2020-05-08T10:02:53.311Z] [PID 16624] golang.org/x/tools/go/internal/cgo
honnef.co/go/tools/printf
[2020-05-08T10:02:53.371Z] [PID 16624] golang.org/x/tools/go/loader
[2020-05-08T10:02:53.466Z] [PID 16624] mvdan.cc/xurls/v2
[2020-05-08T10:02:53.560Z] [PID 16624] golang.org/x/tools/cmd/guru/serial
[2020-05-08T10:02:53.596Z] [PID 16624] golang.org/x/tools/internal/telemetry/export
[2020-05-08T10:02:53.621Z] [PID 16624] golang.org/x/tools/internal/telemetry/export/metric
[2020-05-08T10:02:53.681Z] [PID 16624] golang.org/x/tools/internal/telemetry/export/ocagent/wire
[2020-05-08T10:02:53.751Z] [PID 16624] golang.org/x/tools/internal/telemetry/export/prometheus
[2020-05-08T10:02:53.776Z] [PID 16624] golang.org/x/tools/internal/telemetry/export/ocagent
[2020-05-08T10:02:53.811Z] [PID 16624] golang.org/x/tools/internal/lsp/browser
[2020-05-08T10:02:53.846Z] [PID 16624] golang.org/x/sync/errgroup
[2020-05-08T10:02:53.871Z] [PID 16624] honnef.co/go/tools/functions
[2020-05-08T10:02:53.906Z] [PID 16624] honnef.co/go/tools/internal/passes/buildir
honnef.co/go/tools/ir/irutil
[2020-05-08T10:02:53.931Z] [PID 16624] golang.org/x/tools/internal/lsp/debug
[2020-05-08T10:02:53.966Z] [PID 16624] honnef.co/go/tools/facts
[2020-05-08T10:02:54.061Z] [PID 16624] golang.org/x/tools/internal/memoize
[2020-05-08T10:02:54.096Z] [PID 16624] golang.org/x/tools/internal/lsp/mod
honnef.co/go/tools/lint
[2020-05-08T10:02:54.122Z] [PID 16624] golang.org/x/tools/internal/tool
golang.org/x/tools/internal/lsp/cache
[2020-05-08T10:02:54.185Z] [PID 16624] golang.org/x/tools/internal/lsp
[2020-05-08T10:02:54.315Z] [PID 16624] honnef.co/go/tools/pattern
honnef.co/go/tools/code
[2020-05-08T10:02:54.470Z] [PID 16624] honnef.co/go/tools/lint/lintutil/format
honnef.co/go/tools/report
[2020-05-08T10:02:54.532Z] [PID 16624] honnef.co/go/tools/lint/lintutil
[2020-05-08T10:02:54.747Z] [PID 16624] honnef.co/go/tools/edit
honnef.co/go/tools/lint/lintdsl
[2020-05-08T10:02:54.785Z] [PID 16624] honnef.co/go/tools/internal/sharedcheck
honnef.co/go/tools/stylecheck
honnef.co/go/tools/simple
honnef.co/go/tools/staticcheck
[2020-05-08T10:02:54.811Z] [PID 16624] golang.org/x/tools/internal/lsp/lsprpc
[2020-05-08T10:02:54.967Z] [PID 16624] golang.org/x/tools/internal/lsp/cmd
[2020-05-08T10:02:55.372Z] [PID 16624] golang.org/x/tools/gopls/internal/hooks
[2020-05-08T10:02:55.408Z] [PID 16624] golang.org/x/tools/gopls
[2020-05-08T10:02:56.876Z] [PID 16624] Fetching https://honnef.co/go/tools/...?go-get=1
Fetching https://golang.org/x/lint/golint?go-get=1
[2020-05-08T10:02:57.091Z] [PID 16624] Parsing meta tags from https://golang.org/x/lint/golint?go-get=1 (status code 20
0)
get "golang.org/x/lint/golint": found meta tag get.metaImport{Prefix:"golang.org
/x/lint", VCS:"git", RepoRoot:"https://go.googlesource.com/lint"} at https://gol
ang.org/x/lint/golint?go-get=1
get "golang.org/x/lint/golint": verifying non-authoritative meta tag
Fetching https://golang.org/x/lint?go-get=1
[2020-05-08T10:02:57.212Z] [PID 16624] Parsing meta tags from https://honnef.co/go/tools/...?go-get=1 (status code 200)
get "honnef.co/go/tools/...": found meta tag get.metaImport{Prefix:"honnef.co/go
/tools", VCS:"git", RepoRoot:"https://github.com/dominikh/go-tools"} at https://
honnef.co/go/tools/...?go-get=1
get "honnef.co/go/tools/...": verifying non-authoritative meta tag
Fetching https://honnef.co/go/tools?go-get=1
Parsing meta tags from https://golang.org/x/lint?go-get=1 (status code 200)
[2020-05-08T10:02:57.308Z] [PID 16624] Parsing meta tags from https://honnef.co/go/tools?go-get=1 (status code 200)
[2020-05-08T10:02:57.405Z] [PID 16624] go: finding golang.org/x/lint/golint latest
[2020-05-08T10:02:57.440Z] [PID 16624] go: finding github.com/davidrjenni/reftools/cmd/fillstruct latest
go: finding github.com/josharian/impl latest
[2020-05-08T10:02:57.466Z] [PID 16624] go: finding github.com/haya14busa/goplay/cmd/goplay latest
go: finding github.com/uudashr/gopkgs/v2/cmd/gopkgs latest
[2020-05-08T10:02:57.502Z] [PID 16624] go: finding github.com/ramya-rao-a/go-outline latest
go: finding github.com/cweill/gotests/... latest
go: finding github.com/sqs/goreturns latest
go: finding github.com/rogpeppe/godef v1.1.2
[2020-05-08T10:02:57.528Z] [PID 16624] 
[2020-05-08T10:02:57.747Z] [PID 16624] Fetching https://golang.org/x/lint?go-get=1
[2020-05-08T10:02:57.868Z] [PID 16624] Parsing meta tags from https://golang.org/x/lint?go-get=1 (status code 200)
get "golang.org/x/lint": found meta tag get.metaImport{Prefix:"golang.org/x/lint
", VCS:"git", RepoRoot:"https://go.googlesource.com/lint"} at https://golang.org
/x/lint?go-get=1
go: finding golang.org/x/lint latest
go: finding honnef.co/go/tools/... latest
go: downloading golang.org/x/lint v0.0.0-20200302205851-738671d3881b
[2020-05-08T10:02:57.905Z] [PID 16624] go: extracting golang.org/x/lint v0.0.0-20200302205851-738671d3881b
[2020-05-08T10:02:58.435Z] [PID 16624] go: finding github.com/godoctor/godoctor latest
[2020-05-08T10:02:58.748Z] [PID 16624] go: finding github.com/haya14busa/goplay/cmd latest
go: finding github.com/haya14busa/goplay v1.0.0
go: finding github.com/uudashr/gopkgs/v2/cmd latest
[2020-05-08T10:02:58.783Z] [PID 16624] go: downloading github.com/haya14busa/goplay v1.0.0
go: finding github.com/uudashr/gopkgs/v2 v2.1.2
go: extracting github.com/haya14busa/goplay v1.0.0
[2020-05-08T10:02:59.002Z] [PID 16624] go: finding github.com/davidrjenni/reftools/cmd latest
go: finding github.com/davidrjenni/reftools latest
go: downloading github.com/davidrjenni/reftools v0.0.0-20191222082827-65925cf013
15
[2020-05-08T10:02:59.064Z] [PID 16624] go: extracting github.com/davidrjenni/reftools v0.0.0-20191222082827-65925cf0131
5
Fetching https://golang.org/x/tools/cmd/goimports?go-get=1
[2020-05-08T10:02:59.160Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools/cmd/goimports?go-get=1 (status
 code 200)
get "golang.org/x/tools/cmd/goimports": found meta tag get.metaImport{Prefix:"go
lang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at h
ttps://golang.org/x/tools/cmd/goimports?go-get=1
get "golang.org/x/tools/cmd/goimports": verifying non-authoritative meta tag
Fetching https://golang.org/x/tools?go-get=1
[2020-05-08T10:02:59.246Z] [PID 16624] Fetching https://honnef.co/go/tools?go-get=1
[2020-05-08T10:02:59.282Z] [PID 16624] go: finding github.com/fatih/gomodifytags v1.4.0
Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
[2020-05-08T10:02:59.307Z] [PID 16624] go: finding github.com/acroca/go-symbols v0.1.1
[2020-05-08T10:02:59.342Z] [PID 16624] Parsing meta tags from https://honnef.co/go/tools?go-get=1 (status code 200)
get "honnef.co/go/tools": found meta tag get.metaImport{Prefix:"honnef.co/go/too
ls", VCS:"git", RepoRoot:"https://github.com/dominikh/go-tools"} at https://honn
ef.co/go/tools?go-get=1
Fetching https://honnef.co/go?go-get=1
[2020-05-08T10:02:59.439Z] [PID 16624] go: finding github.com/mdempsky/gocode latest
[2020-05-08T10:02:59.561Z] [PID 16624] Parsing meta tags from https://honnef.co/go?go-get=1 (status code 200)
Fetching https://honnef.co?go-get=1
[2020-05-08T10:02:59.718Z] [PID 16624] Parsing meta tags from https://honnef.co?go-get=1 (status code 200)
go get honnef.co/go/tools/...@latest: no matching versions for query "latest"
[2020-05-08T10:02:59.874Z] [PID 16624] go: finding github.com/zmb3/gogetdoc latest
go: finding golang.org/x/tools/cmd/goimports latest
[2020-05-08T10:02:59.900Z] [PID 16624] Fetching https://golang.org/x/tools/cmd?go-get=1
[2020-05-08T10:02:59.996Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools/cmd?go-get=1 (status code 200)
get "golang.org/x/tools/cmd": found meta tag get.metaImport{Prefix:"golang.org/x
/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://gol
ang.org/x/tools/cmd?go-get=1
get "golang.org/x/tools/cmd": verifying non-authoritative meta tag
go: finding golang.org/x/tools/cmd latest
Fetching https://golang.org/x/tools?go-get=1
[2020-05-08T10:03:00.032Z] [PID 16624] 
go: finding github.com/cweill/gotests v1.5.3
[2020-05-08T10:03:00.093Z] [PID 16624] go: downloading github.com/uudashr/gopkgs/v2 v2.1.2
go: extracting github.com/uudashr/gopkgs/v2 v2.1.2
Fetching https://golang.org/x/tools/cmd/guru?go-get=1
[2020-05-08T10:03:00.128Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
get "golang.org/x/tools": found meta tag get.metaImport{Prefix:"golang.org/x/too
ls", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.
org/x/tools?go-get=1
go: finding golang.org/x/tools latest
go: downloading golang.org/x/tools v0.0.0-20200507205054-480da3ebd79c
[2020-05-08T10:03:00.213Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools/cmd/guru?go-get=1 (status code
 200)
get "golang.org/x/tools/cmd/guru": found meta tag get.metaImport{Prefix:"golang.
org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https:
//golang.org/x/tools/cmd/guru?go-get=1
get "golang.org/x/tools/cmd/guru": verifying non-authoritative meta tag
go: finding golang.org/x/tools/cmd/guru latest
[2020-05-08T10:03:00.530Z] [PID 16624] go: finding github.com/go-delve/delve/cmd/dlv latest
[2020-05-08T10:03:00.564Z] [PID 16624] 
[2020-05-08T10:03:00.720Z] [PID 16624] Fetching https://golang.org/x/tools/cmd/gorename?go-get=1
[2020-05-08T10:03:00.841Z] [PID 16624] Parsing meta tags from https://golang.org/x/tools/cmd/gorename?go-get=1 (status
code 200)
get "golang.org/x/tools/cmd/gorename": found meta tag get.metaImport{Prefix:"gol
ang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at ht
tps://golang.org/x/tools/cmd/gorename?go-get=1
get "golang.org/x/tools/cmd/gorename": verifying non-authoritative meta tag
go: finding golang.org/x/tools/cmd/gorename latest
[2020-05-08T10:03:00.902Z] [PID 16624] go: finding github.com/mgechev/revive v1.0.2
[2020-05-08T10:03:01.217Z] [PID 16624] go: extracting golang.org/x/tools v0.0.0-20200507205054-480da3ebd79c
[2020-05-08T10:03:01.409Z] [PID 16624] go: downloading github.com/cweill/gotests v1.5.3
[2020-05-08T10:03:01.471Z] [PID 16624] go: extracting github.com/cweill/gotests v1.5.3
Fetching https://github.com?go-get=1
[2020-05-08T10:03:01.496Z] [PID 16624] 
[2020-05-08T10:03:01.655Z] [PID 16624] Parsing meta tags from https://github.com?go-get=1 (status code 200)
go get github.com/cweill/gotests/...@latest: no matching versions for query "lat
est"
[2020-05-08T10:03:03.784Z] [PID 16624] go: finding github.com/go-delve/delve/cmd latest
go: finding github.com/go-delve/delve v1.4.0
[2020-05-08T10:03:06.030Z] [PID 16624] go: downloading github.com/go-delve/delve v1.4.0
[2020-05-08T10:03:07.122Z] [PID 16624] go: extracting github.com/go-delve/delve v1.4.0
[2020-05-08T10:03:07.436Z] [PID 16624] The command '/bin/sh -c apt-get update     && apt-get -y install --no-install-re
commends apt-utils dialog 2>&1     && apt-get -y install git openssh-client less
 iproute2 procps lsb-release     && mkdir -p /tmp/gotools     && cd /tmp/gotools
     && GOPATH=/tmp/gotools GO111MODULE=on go get -v golang.org/x/tools/gopls@la
test 2>&1     && GOPATH=/tmp/gotools GO111MODULE=on go get -v         honnef.co/
go/tools/...@latest         golang.org/x/tools/cmd/gorename@latest         golan
g.org/x/tools/cmd/goimports@latest         golang.org/x/tools/cmd/guru@latest
      golang.org/x/lint/golint@latest         github.com/mdempsky/gocode@latest
        github.com/cweill/gotests/...@latest         github.com/haya14busa/gopla
y/cmd/goplay@latest         github.com/sqs/goreturns@latest         github.com/j
osharian/impl@latest         github.com/davidrjenni/reftools/cmd/fillstruct@late
st         github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest          github.com/ra
mya-rao-a/go-outline@latest          github.com/acroca/go-symbols@latest
  github.com/godoctor/godoctor@latest          github.com/rogpeppe/godef@latest
         github.com/zmb3/gogetdoc@latest         github.com/fatih/gomodifytags@l
atest          github.com/mgechev/revive@latest          github.com/go-delve/del
ve/cmd/dlv@latest 2>&1     && GOPATH=/tmp/gotools go get -v github.com/alecthoma
s/gometalinter 2>&1     && GOPATH=/tmp/gotools go get -x -d github.com/stamblerr
e/gocode 2>&1     && GOPATH=/tmp/gotools go build -o gocode-gomod github.com/sta
mblerre/gocode     && mv /tmp/gotools/bin/* /usr/local/bin/     && mv gocode-gom
od /usr/local/bin/     && curl -sSfL https://raw.githubusercontent.com/golangci/
golangci-lint/master/install.sh | sh -s -- -b /usr/local/bin 2>&1     && groupad
d --gid $USER_GID $USERNAME     && useradd -s /bin/bash --uid $USER_UID --gid $U
SER_GID -m $USERNAME     && apt-get install -y sudo     && echo $USERNAME ALL=\(
root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME     && chmod 0440 /etc/sudoers.d/
$USERNAME     && apt-get autoremove -y     && apt-get clean -y     && rm -rf /va
r/lib/apt/lists/* /tmp/gotools' returned a non-zero code: 1
[2020-05-08T10:03:07.474Z] [PID 16624] [46107 ms] Command failed: docker build -f d:\atlas\vscode-remote-try-go\.devcontainer\Dockerfile -t vsc-vscode-remote-try-go-3e25e53149fcfb49e58bf4693d24dcf2 d:\atlas\vscode-remote-try-go\.devcontainer

Go version in go.mod file

The docker container has Go installed in its 1.17 version, but the go.mod file declares go 1.14. May I update this?

go build error

Hi,

I just downloaded the example, if I try the command go build, I get this error

vscode@bd277fa5c94e:/workspaces/vscode-remote-try-go/src/main$ go build 
server.go:10:2: cannot find package "hello" in any of:
        /usr/local/go/src/hello (from $GOROOT)
        /go/src/hello (from $GOPATH)

How can I set the GOPATH properly?

Unit Tests

It would be great if the sample project can already have Unit Tests and also make sure a Go Test Explorer is installed in VSCode.

permission denied issue

When I try
Build, Run, and Debug:
Open server.go
Add a breakpoint (e.g. on line 22).
Press F5 to launch the app in the container.

I got blocked as below:

go build main: copying /tmp/go-build249607315/b001/exe/a.out: open /workspaces/vscode-remote-try-go/src/main/__debug_bin: permission denied
exit status 1
Process exiting with code: 1

Usage of Go Modules

It would be great if the sample project can use Go modules/go.mod file to streamline it to the current community movement.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.