0. 前言
最近计划将之前的做的打印机无线扫描和无线打印功能好好整理一下,做一个集成插件部署到openwrt上,所以打算浅浅学一下go的web实现。经过百度以及考虑到后期前端需要使用Vue3开发,因此决定采用vscode作为开发IDE。
1. Vscode配置go开发环境
1.1 windows配置go环境
go环境的安装比较简单,这里不再过多赘述,不会的自行百度。
可以参考这篇文章:
至于GOPATH和GOROOT的含义和配置可以参考这篇(我发现新版本只需要配置GOPATH,不需要配置GOROOT了) :
设置完成后,可以win+r输入cmd打开命令行输入go env检查环境是否配置正确:
尤其注意GOPATH和GOROOT的位置是否正确,如果发现GOPATH的路径不对,则可以打开环境变量:
修改用户变量中的GOPATH路径:
同时在系统变量中新建GOPATH变量,并将路径设置为一样的路径:
这时重启cmd命令行,输入go env,GOPATH路径显示应已正常 。
1.2 go get命令设置国内镜像源
go安装包时一般使用go get命令来安装github上的包,但由于一些原因,国内下载github的包会出现网络问题,因此需要设置国内镜像源提升速度。
win+r输入cmd打开命令行,输入:
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
即可。
至此,windows安装go环境结束
1.2 vscode配置go
1.2.1 安装go插件
打开vscode,在插件市场中搜索go:
选择第一个安装。
然后搜索code run:
选择code runner进行安装。
1.2.2 安装go的其他内容
vscode中按住shift+ctrl+p,输入go:install,
选择updateTools,之后都按这篇文章:
1.2.3 修改vscode终端cmd启动
这里选择新建终端,然后点击加号旁边的小三角:
选择“选择默认配置文件” :
选择commandPrompt即可:
重启vscode即可修改为cmd终端。
2. Air框架的配置
Air能够实时监听项目的代码文件,在代码发生变更之后自动重新编译并执行,大大提高gin框架项目的开发效率。
2.1 安装air
打开项目根目录,输入:
go get -u github.com/cosmtrek/air
即可安装。然后打开GOPATH根目录下的pkg文件下的mod\github.com\cosmtrek\air@v1.49.0(注意这是路径,有点懒得打了)
在该路径下打开cmd命令行,输入:
go build .
回车,会在该目录下生成一个air.exe文件。
将GOPATH根目录下的pkg文件下的mod\github.com\cosmtrek\air@v1.49.0这个路径添加到系统环境变量中:
打开cmd命令行,输入:
air -v
弹出如上即为成功。
然后在自己的go项目根目录下新建一个
.air.conf
文件,输入以下内容:
# [Air](https://github.com/cosmtrek/air) TOML 格式的配置文件
# 工作目录
# 使用 . 或绝对路径,请注意 `tmp_dir` 目录必须在 `root` 目录下
root = "."
tmp_dir = "tmp"
[build]
# 只需要写你平常编译使用的shell命令。你也可以使用 `make`
cmd = "go build -o ./tmp/main ."
# 由`cmd`命令得到的二进制文件名
bin = "tmp/main"
# 自定义的二进制,可以添加额外的编译标识例如添加 GIN_MODE=release
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
# 监听以下文件扩展名的文件.
include_ext = ["go", "tpl", "tmpl", "html"]
# 忽略这些文件扩展名或目录
exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"]
# 监听以下指定目录的文件
include_dir = []
# 排除以下文件
exclude_file = []
# 如果文件更改过于频繁,则没有必要在每次更改时都触发构建。可以设置触发构建的延迟时间
delay = 1000 # ms
# 发生构建错误时,停止运行旧的二进制文件。
stop_on_error = true
# air的日志文件名,该日志文件放置在你的`tmp_dir`中
log = "air_errors.log"
[log]
# 显示日志时间
time = true
[color]
# 自定义每个部分显示的颜色。如果找不到颜色,使用原始的应用程序日志。
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"
[misc]
# 退出时删除tmp目录
clean_on_exit = true
2.2 vscode 提示"air"不是内部或外部的命令解决方法
回到vscode中,如果新建终端,输入air,提示:
"air"不是内部或外部的命令
则表明vscode未添加到环境变量中,此时找到vscode的安装位置:
将这个安装路径添加到系统变量PATH中即可:
重启vscode,在终端输入air -v,显示正常: