go频繁重启 开发的时候
当开发 Go 语言程序时,频繁重启以查看更改是件很麻烦的事。幸运的是,有很多工具可以帮助你在不手动重启的情况下,实现代码更改后自动重新编译和运行。这能大大提升你的开发效率。
以下是两种常用的方法:
1. 使用 Hot-Reload 工具
这类工具会监控你的 Go 项目文件,一旦发现文件有变动,就会自动重新编译并运行程序。这样,你只需要保存文件,就能立即看到结果。
推荐工具:air
air 是一个非常流行且强大的 Go 热加载工具。它配置简单,功能丰富,可以满足绝大多数开发需求。
如何安装和使用 air
安装
air:在你的终端中运行以下命令:
go install github.com/cosmtrek/air@latest配置
air:在你的项目根目录下,创建一个名为
.air.toml的配置文件。air会自动加载这个文件。下面是一个基础配置示例:# .air.toml root = "." tmp_dir = "tmp" [build] cmd = "go build -o ./tmp/main ." bin = "tmp/main" include_ext = ["go", "tpl", "tmpl", "html"] exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"] [log] time = true [color] main = "magenta" build = "yellow" runner = "green" watcher = "cyan"这个配置文件告诉
air:
* 在 . 目录下监控文件。
* 编译命令是 go build -o ./tmp/main .,将编译后的可执行文件输出到 tmp 目录下的 main。
* 只监控 .go, .tpl, .tmpl, .html 格式的文件。
* 忽略 assets, tmp 等目录。
运行
air:配置好后,在你的项目根目录下运行
air命令即可。air会启动一个进程,持续监控你的文件。每当你保存代码,它都会自动重新编译和运行。
2. 使用 IDE 或编辑器的内置功能
许多现代的集成开发环境(IDE)和代码编辑器都有内置或通过插件支持的自动构建和运行功能。
推荐:VS Code
如果你使用 VS Code,可以通过 Tasks 功能来实现类似的效果。虽然这不如专门的热加载工具那样强大,但在某些简单的场景下也足够了。
如何在 VS Code 中配置任务
打开任务配置:
按下
Ctrl+Shift+P(或Cmd+Shift+P),然后输入并选择Tasks: Configure Task。创建任务:
选择
Create tasks.json from template,然后选择Others。配置
tasks.json:在
.vscode目录下会生成一个tasks.json文件。你可以像下面这样配置它:{ "version": "2.0.0", "tasks": [ { "label": "Run Go App", "type": "shell", "command": "go run .", "problemMatcher": [], "group": { "kind": "build", "isDefault": true }, "presentation": { "reveal": "always", "panel": "new" } } ] }这个配置创建了一个名为
Run Go App的任务。你可以在 VS Code 中按下Ctrl+Shift+B(或Cmd+Shift+B) 来运行这个任务。每次你需要重启时,只需重新运行这个任务即可。不过,这仍然需要手动操作。如果你想要自动运行,可以考虑安装
Code Runner插件,它能让你用快捷键快速运行当前文件。但最推荐的方式还是使用像air这样的专业热加载工具。
总结
如果你想真正实现**“不需要重启就可以继续开发”**,那么 air 这样的热加载工具是你的最佳选择。它能为你节省大量手动重启的时间,让你专注于代码本身。
你可以先尝试安装 air 并按照上面的步骤进行配置。如果遇到任何问题,可以随时查阅它的官方文档。