【问题标题】:Run Golang project in Sublime Text 3在 Sublime Text 3 中运行 Golang 项目
【发布时间】:2017-08-27 15:35:23
【问题描述】:

通过在 Sublime Text 3 中运行 Go 项目并实时查看其输出,我找不到适合我需求的解决方案。

如果我尝试从以下位置构建系统:

  1. GoSublime - 我可以使用run,它甚至可以运行和停止,但没有我需要的输出。仅当我取消构建时才会出现 - 为时已晚。

  2. 来自 Go 开发人员的官方 Golang Build - 我可以构建项目,仅此而已。它只允许运行 1 个文件(当前),但我需要整个项目。

    我尝试为 run 命令使用标志并添加*.go,但后来我得到*.go: no such file or directory

如何在其中一种解决方案中实时查看输出?我尝试使用 shell_cmd = go run *.go 创建自己的构建系统,但是使用 Cancel build 停止该过程并不起作用。也许您可以解释如何停止正在运行的 Go 程序?我的 mybuild.sublime-build 与此类似:

{
    "env": {
        "GOROOT": "/path/gosrc/go",
        "GOPATH": "/path/godev"
    },
    "path": "$PATH:/path/gosrc/go/bin",
    "working_dir": "/path/godev/src/github.com/user/program",
    "cmd": "go run *.go",
    "shell": true
}

..我可以运行 Build 并查看所需的输出,但是如何停止正在运行的进程?

附:程序不仅仅是执行和退出 - 它是一项服务,所以当需要的操作发生时我应该看到输出。

【问题讨论】:

    标签: go sublimetext3 sublimetext


    【解决方案1】:

    我个人使用 GoSublime 和 go build .,然后按名称运行应用程序作为第二个命令。显然这在很多方面都很糟糕,但在大多数情况下它有点工作。它提供了一种很好的快速检查编译错误的方法,这是我最需要的。

    老实说,在专用 shell 中运行在各方面都更好。

    AFAIK,没有更好的 Go 构建系统可用于 Sublime Text(这不是一种认可,它很糟糕,只是比大多数人少)。

    【讨论】:

    • 您所说的“随后按名称运行应用程序作为第二个命令”是什么意思?请展示一个完整的配置/命令示例
    • 没有什么可显示的,GoSublime 添加了一个 shell 代理,您可以在其中运行任何命令。按 ctrl+b (build) 只会将该 shell 与已输入的最后一个命令一起打开。因此,您运行go build . 来构建当前包,并通过输入其名称来运行您刚刚构建的二进制文件。坦率地说,你可能应该只使用这个 shell 来构建和在其他地方运行。
    • 如果你的意思是 Ctrl+B 并在那里输入 ./program - 它运行,但我仍然没有输出
    【解决方案2】:

    我在这里找到了一个教程,其中我可以在 Sublime Text 3 中运行 Go 文件:https://www.alexedwards.net/blog/streamline-your-sublime-text-and-go-workflow

    如果你使用Build With: Go - Run,你会得到输出,但如果你在 Go 中运行例如 net/http 本地主机,你将无法运行多个程序并且取消构建也不起作用。

    下面是 Sublime Text 3 中简单 fmt.Println 输出的示例:

    > Environment:
    >   GOPATH=C:/Users/Christiaan/go
    > Directory: C:\Users\Christiaan\Documents\02_Personal\04_Learning\09_Go\01_test
    > Command: C:\Users\Christiaan\go\go1.15rc1\bin\go.exe run -v C:\Users\Christiaan\Documents\02_Personal\04_Learning\09_Go\01_test\test2.go
    > Output:
    command-line-arguments
    gas_pedal: 22314 brake_pedal: 0 steering_wheel: 12562
    > Elapsed: 3.856s
    > Result: Success
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-22
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多