Skip to content

Instantly share code, notes, and snippets.

@hucsmn
Last active January 26, 2020 11:04
Show Gist options
  • Save hucsmn/1edeeaaa99c1e267d7a39ecdc267c051 to your computer and use it in GitHub Desktop.
Save hucsmn/1edeeaaa99c1e267d7a39ecdc267c051 to your computer and use it in GitHub Desktop.
VSCode Go tools installation work around (solving problem that `go get golang.org/x/tools` was blocked by GFW)
@echo off
echo [work around golang.org/x/*]
cd "%GOPATH%"
if not exist src\golang.org\x mkdir src\golang.org\x
cd src\golang.org\x
for %%i in (tools mod lint sync xerrors) do (
echo update golang.org/x/%%i
if not exist %%i (
git clone https://github.com/golang/%%i.git
) else (
cd %%i
git pull
cd "%GOPATH%\src\golang.org\x"
)
)
echo.
echo [install gocode]
go get -v -u -insecure github.com/mdempsky/gocode
REM version of gocode works with go modules (unstable):
REM go get -v -u -insecure github.com/stamblerre/gocode
echo.
echo [install gopkgs]
go get -v -u -insecure github.com/uudashr/gopkgs/cmd/gopkgs
echo.
echo [install go-outline]
go get -v -u -insecure github.com/ramya-rao-a/go-outline
echo.
echo [install go-symbols]
go get -v -u -insecure github.com/acroca/go-symbols
echo.
echo [install guru]
go install -v golang.org/x/tools/cmd/guru
echo.
echo [install gorename]
go install -v golang.org/x/tools/cmd/gorename
echo.
echo [install gopls]
go get -u -v -insecure github.com/sergi/go-diff/diffmatchpatch
go get -u -v -insecure honnef.co/go/tools/simple
go get -u -v -insecure honnef.co/go/tools/staticcheck
go get -u -v -insecure honnef.co/go/tools/stylecheck
go get -u -v -insecure mvdan.cc/xurls/v2
go install -v golang.org/x/tools/gopls
echo.
echo [install gotests]
go get -v -u -insecure github.com/cweill/gotests/...
echo.
echo [install gomodifytags]
go get -v -u -insecure github.com/fatih/gomodifytags
echo.
echo [install impl]
go get -v -u -insecure github.com/josharian/impl
echo.
echo [install fillstruct]
go get -v -u -insecure github.com/davidrjenni/reftools/cmd/fillstruct
echo.
echo [install goplay]
go get -v -u -insecure github.com/haya14busa/goplay/cmd/goplay
echo.
echo [install godoctor]
go get -v -u -insecure github.com/godoctor/godoctor
echo.
echo [install dlv]
go get -v -u -insecure github.com/go-delve/delve/cmd/dlv
echo.
echo [install godef]
go get -v -u -insecure github.com/rogpeppe/godef
echo
echo [install goreturns]
go get -v -u -insecure github.com/sqs/goreturns
echo
echo [install golint]
go install -v golang.org/x/lint/golint
#!/bin/bash
echo [work around golang.org/x]
cd "$GOPATH"
[[ ! -d src\golang.org\x ]] && mkdir -p src/golang.org/x
cd src/golang.org/x
for repo in tools mod lint sync xerrors; do
echo update golang.org/x/$repo
if [[ ! -d $repo ]]; then
git clone https://github.com/golang/$repo.git
else
cd $repo
git pull
cd ..
fi
done
echo
echo [install gocode]
go get -v -u -insecure github.com/mdempsky/gocode
# version of gocode works with go modules (unstable):
#go get -v -u -insecure github.com/stamblerre/gocode
echo
echo [install gopkgs]
go get -v -u -insecure github.com/uudashr/gopkgs/cmd/gopkgs
echo
echo [install go-outline]
go get -v -u -insecure github.com/ramya-rao-a/go-outline
echo
echo [install go-symbols]
go get -v -u -insecure github.com/acroca/go-symbols
echo
echo [install guru]
go install -v golang.org/x/tools/cmd/guru
echo
echo [install gorename]
go install -v golang.org/x/tools/cmd/gorename
echo
echo [install gopls]
go get -u -v -insecure github.com/sergi/go-diff/diffmatchpatch
go get -u -v -insecure honnef.co/go/tools/simple
go get -u -v -insecure honnef.co/go/tools/staticcheck
go get -u -v -insecure honnef.co/go/tools/stylecheck
go get -u -v -insecure mvdan.cc/xurls/v2
go install -v golang.org/x/tools/gopls
echo
echo [install gotests]
go get -v -u -insecure github.com/cweill/gotests/...
echo
echo [install gomodifytags]
go get -v -u -insecure github.com/fatih/gomodifytags
echo
echo [install impl]
go get -v -u -insecure github.com/josharian/impl
echo
echo [install fillstruct]
go get -v -u -insecure github.com/davidrjenni/reftools/cmd/fillstruct
echo
echo [install goplay]
go get -v -u -insecure github.com/haya14busa/goplay/cmd/goplay
echo
echo [install godoctor]
go get -v -u -insecure github.com/godoctor/godoctor
echo
echo [install dlv]
go get -v -u -insecure github.com/go-delve/delve/cmd/dlv
echo
echo [install godef]
go get -v -u -insecure github.com/rogpeppe/godef
echo
echo [install goreturns]
go get -v -u -insecure github.com/sqs/goreturns
echo
echo [install golint]
go install -v golang.org/x/lint/golint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment