The Go programming language
Go to file
Heschi Kreinick 43adb69d7e internal/lsp: disable network access for some go commands
For users with poor network connections, go command invocations that
access the network may hang up for long periods of time. Even for
users with good network connections, accessing proxy.golang.org or
github can take a few seconds, which is a long time to lock up an
editor.

Disable network access via GOPROXY=off when running most go commands.
There are two notable exceptions. First, the initial workspace load is
allowed, though subsequent loads are not. My reasoning is that if the
user is opening a project they've just downloaded, they probably expect
to fetch its dependencies. (Also, it's convenient to keep the regtests
going.) The second is the go mod tidy diagnostics, which I hope to
address in a later change. All the other commands that access the
network are at the user's request.

When the workspace load fails due to a dependency that hasn't been
downloaded, we present a quick fix on the go.mod line to do so. The only
way that happens is if there's a manual modification to the go.mod file,
since all of the other quick fixes will do the download. So I don't
think there's a need to present the fix anywhere else.

Updates golang/go#38462.

Change-Id: I470bc1ba790db7c1afee54d0b28fa0c6fd203fb9
Reviewed-on: https://go-review.googlesource.com/c/tools/+/274120
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2020-12-03 19:33:52 +00:00
benchmark/parse benchmark/parse: add unit test for String function 2019-12-16 21:43:19 +00:00
blog blog: use serial comma in long author lists 2020-03-25 19:41:47 +00:00
cmd cmd/toolstash: drop 387, use softfloat instead 2020-12-02 10:05:33 +00:00
container/intsets all: fix some staticcheck errors 2020-01-29 04:53:41 +00:00
cover cover: fix sorting of profile segment boundaries 2020-09-16 14:01:29 +00:00
go go/analysis: avoid panic in ifaceassert 2020-11-30 22:00:05 +00:00
godoc all: replace 'the the ' with 'the ' 2020-09-21 21:00:52 +00:00
gopls internal/lsp: disable network access for some go commands 2020-12-03 19:33:52 +00:00
imports internal/imports: require valid options, move LocalPrefix up 2020-07-07 20:02:13 +00:00
internal internal/lsp: disable network access for some go commands 2020-12-03 19:33:52 +00:00
playground playground/socket: remove the os cleanup from start method of process 2020-09-03 00:54:29 +00:00
present x/tools/present: point to instagram sted twitter for Renee French 2020-03-30 04:01:39 +00:00
refactor all: fix tests in preparation for GO111MODULE=on by default 2020-09-17 22:14:52 +00:00
txtar txtar/archive: add unit test function for Format 2019-11-20 20:49:00 +00:00
.gitattributes tools: copying .gitattributes to all subrepositories (fixes windows build) 2014-12-23 06:32:51 +00:00
.gitignore .gitignore: roll back ".gitignore: ignore emacs backup files" 2018-02-13 00:43:28 +00:00
.prettierrc all: add a section on JS/CSS formatting to README 2020-05-28 15:31:34 +00:00
AUTHORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests 2018-03-14 18:02:17 +00:00
CONTRIBUTORS go.empty: prototype for new subrepository 2012-01-25 14:45:13 -05:00
LICENSE LICENSE: add 2012-03-17 15:20:58 +11:00
PATENTS go.empty: add PATENTS file to the subrepo. 2012-04-16 11:24:04 +10:00
README.md all: add a section on JS/CSS formatting to README 2020-05-28 15:31:34 +00:00
codereview.cfg tools: add codereview.cfg 2015-03-18 17:04:00 +00:00
go.mod all: update all dependencies to latest pseudoversions 2020-10-22 03:59:29 +00:00
go.sum all: update all dependencies to latest pseudoversions 2020-10-22 03:59:29 +00:00

README.md

Go Tools

This subrepository holds the source for various packages and tools that support the Go programming language.

Some of the tools, godoc and vet for example, are included in binary Go distributions.

Others, including the Go guru and the test coverage tool, can be fetched with go get.

Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.

Download/Install

The easiest way to install is to run go get -u golang.org/x/tools/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools.

JS/CSS Formatting

This repository uses prettier to format JS and CSS files.

The version of prettier used is 1.18.2.

It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/tools/(your subdir):" in the subject line, so it is easy to find.