返回文章列表

go频繁重启 开发的时候

@admin
标签:
分类: 提示词
创建: 2025-08-10 05:11 更新: 2025-08-10 05:11 浏览: --次

当开发 Go 语言程序时,频繁重启以查看更改是件很麻烦的事。幸运的是,有很多工具可以帮助你在不手动重启的情况下,实现代码更改后自动重新编译和运行。这能大大提升你的开发效率。

以下是两种常用的方法:

1. 使用 Hot-Reload 工具

这类工具会监控你的 Go 项目文件,一旦发现文件有变动,就会自动重新编译并运行程序。这样,你只需要保存文件,就能立即看到结果。

推荐工具:air

air 是一个非常流行且强大的 Go 热加载工具。它配置简单,功能丰富,可以满足绝大多数开发需求。

如何安装和使用 air

  1. 安装 air:

    在你的终端中运行以下命令:

    go install github.com/cosmtrek/air@latest
    
  2. 配置 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 等目录。

  1. 运行 air:

    配置好后,在你的项目根目录下运行 air 命令即可。air 会启动一个进程,持续监控你的文件。每当你保存代码,它都会自动重新编译和运行。


2. 使用 IDE 或编辑器的内置功能

许多现代的集成开发环境(IDE)和代码编辑器都有内置或通过插件支持的自动构建和运行功能。

推荐:VS Code

如果你使用 VS Code,可以通过 Tasks 功能来实现类似的效果。虽然这不如专门的热加载工具那样强大,但在某些简单的场景下也足够了。

如何在 VS Code 中配置任务

  1. 打开任务配置:

    按下 Ctrl+Shift+P (或 Cmd+Shift+P),然后输入并选择 Tasks: Configure Task

  2. 创建任务:

    选择 Create tasks.json from template,然后选择 Others

  3. 配置 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 并按照上面的步骤进行配置。如果遇到任何问题,可以随时查阅它的官方文档。