我最近干啥
我最近都在学习Go语言相关的东西以及捣鼓论文。不是没时间更新,其实就是自己懒。
后续应该会回复正常的节奏了。
今天都干了些啥
今天下午都在安装Go语言的东西,因为自己打算使用VsCode作为Go的开发主力。但是我VsCode的代码提示速度太慢了。要隔一秒钟才会出来提示。。实在太慢了。就在下载Go语言的工具,但是又被墙了。只能在网上乱搜。刚捣鼓好,做个简单的记录。(以上操作基于MacOS系统)
# 首先安装 Go语言 这步忽略
# 编辑文件设置环境变量
vim ~/.bash_profile
# 书写如下代码
# go path
export GOROOT=/usr/local/go
export GOPATH=/Users/vector/go
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
# 在自己制定的GOPATH 目录下建立src文件夹
cd $GOPATH
mkdir src
cd src
# 因为被墙了,设置代理
export GOPROXY=https://goproxy.io/
# 开启go module 功能
export GO111MODULE=on
# 开始下载工具
go get -u -v github.com/mdempsky/gocode
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/go-delve/delve/cmd/dlv
go get -u -v github.com/stamblerre/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/sqs/goreturns
go get -u -v golang.org/x/lint/golint
go get -u -v github.com/cweill/gotests/...
go get -u -v github.com/fatih/gomodifytags
go get -u -v github.com/josharian/impl
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/godoctor/godoctor
# 代码提示 原生的太垃圾
go get golang.org/x/tools/gopls@latest
# 另外的包管理
go get -d -u github.com/golang/dep
# 然后将 $GOPATH/bin目录生成的可执行文件全部复制到/usr/local/go/bin 目录下
cd /usr/local/go
open bin
# 在src目录下建立 /goland/x目录
mkdir goland.org goland.org/x
cd goland.org/x
# 下载包 需要先安装git
git clone https://github.com/golang/tools.git tools
git clone https://github.com/golang/lint.git
vsCode 书写代码的话添加以下配置
command + shift + P
选择 open setting (json)
添加配置
"go.useLanguageServer": true,
"[go]": {
"editor.snippetSuggestions": "none",
"editor.formatOnSave": true,
"editor.insertSpaces": false,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"editor.defaultFormatter": "golang.go-nightly"
},
"gopls": {
"usePlaceholders": true, // add parameter placeholders when completing a function
"wantCompletionDocumentation": true // for documentation in completion items
},
"files.eol": "\n",
以上就是全部内容了。没什么干货,非常感谢你能看到这里。我们在下期见!