在运行测试之前,如何自动清除Visual Code中的go缓存?

There is a small nuisance with Visual Code and Go, but is mainly related to the most recent release of go 1.11.x and the newly introduced module system. The go builder creates a folder called 'auto' for cached builds, which can be cleaned / deleted via 'go clean -cache'.

Visual Code seems to be confused when executing tests, if such a directory is present, and complains about missing dependencies:

/home/user/.golang/src/github.com/stretchr/testify/assert/assertions.go:20:2: could not import github.com/pmezard/go-difflib/difflib (open auto/4c/4cb1f0f2c9f328e3cade99998704759897fd4e530af38db25c85cdc253c1f1a0-d: no such file or directory)

is there any possibility to fix this? Or is it just another setting I forgot to make?

Try setting the environment variable GOCACHE=off.

Warning from issue 26809 ("GOCACHE=off causes modules to exit the tests"):

The GOCACHE env variable will be phased out out in 1.12, and cannot be used with go modules enabled in 1.11

Configuring VSCode to use using go test -count=1 ... is safer.

The Go 1.12 release notes (for February 2019) makes that official:

Build cache requirement

The build cache is now required as a step toward eliminating $GOPATH/pkg.
Setting the environment variable GOCACHE=off will cause go commands that write to the cache to fail.