本文将以mac环境为例给读者一个搭建golang开发环境的方案,严格按照本文操作 10分钟即可完成搭建。
关于为什么选VSCode,请参考https://www.jianshu.com/p/6429441332c6
本次文章实验环境如下
go version
go1.13.4 darwin/amd64
VSCode版本
Version: 1.40.1
Commit: 8795a9889db74563ddd43eb0a897a2384129a619
Date: 2019-11-13T16:47:44.719Z
Electron: 6.1.2
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Darwin x64 19.0.0
最终效果如下(注意,是鼠标放到函数名称上面就会出现这个函数定义时的签名,结构体也一样)
https://weibo.com/tv/v/IhAtq9ZZR?fid=1034:4441917505911222
golang安装
在mac 系统下,大部分用户都安装有home brew(https://brew.sh/),我们可以通过home brew来安装golang。
brew install go
执行完毕后 执行go version
可以查看go的版本。
设置GOPROXY
echo "export GOPROXY=https://goproxy.cn" >> $HOME/.zshenv
source $HOME/.zshenv
VSCode安装
打开https://code.visualstudio.com/。点击“Download For Mac” 下载Vscode。下载完成后解压,可以得到Visual Studio Code文件,在访达中将这个文件拖到“应用程序”里面即可完成安装。
安装成功后打开VSCode
同时点击shift+command+P
点击上图中的“shell command install ‘code’ command in PATH”
设置VSCode配置文件
同时按下"command"和“,”键,(请在英文输入法下执行,不要在中文输入法下执行)
点击上图中的
edit in settings.json
然后在此文件中粘贴下面的配置(请把"/Users/byc/go",替换成在命令行执行echo $HOME/go
的结果)
{
"go.inferGopath": true,
"go.toolsGopath": "/Users/byc/go",
"go.formatTool": "goimports",
"go.useLanguageServer": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
"go.gocodeAutoBuild": true,
"go.installDependenciesWhenBuilding": true,
"go.addTags": {
"tags": "json",
"options": "json=omitempty",
"promptForTags": false,
"transform": "camelcase"
},
"editor.fontSize": 18,
"files.autoSave": "onFocusChange",
"editor.formatOnSave": true,
"window.zoomLevel": 2,
"workbench.colorTheme": "Monokai"
}
然后关闭VSCode。
注意 设置了"go.inferGopath": true,
会让VSCode自动推导GOPATH路径,你环境变量中的GOPATH会失效
我下面的实例的代码目录在$HOME/code/goprojs/src/demo
,vscode自动推导会把$HOME/code/goprojs
作为GOPATH路径
开始开发第一个项目
在终端中执行下面的命令
mkdir -p $HOME/code/goprojs/src/demo
cd $HOME/code/goprojs/src/demo
go mod init demo
code .
执完上面的命令,Vscode会被自动打开,打开之后新建main.go文件,贴入下面的内容
package main
import (
"fmt"
)
func main() {
fmt.Println("test")
}
然后保存
然后会提示安装go插件
安装go插件即可
安装完毕后会提示要求执行
go get .....
来安装一些工具,点击安装即可。完成后关闭VsCode
然后重新在命令后执行
code .
打开这个目录 ,
然后 在VSCode的终端中执行
go run main.go
如果还没有跳转代码定义的地方 请参考下图检查
https://weibo.com/tv/v/IhAtq9ZZR?fid=1034:4441917505911222
最后推荐一个VSCode教程:https://geek-docs.com/vscode/vscode-tutorials/what-is-vscode.html