在Sublime Text 3

时间:2017-08-27 15:35:24

标签: go sublimetext3 sublimetext

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

如果我尝试使用以下构建系统:

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

  2. 来自Go开发者的
  3. 官方 Golang Build - 我可以构建项目,就是这样。它只允许运行 1个文件(当前),但我需要整个项目。

    我尝试使用运行命令的标记并添加*.go,但我得到*.go: no such file or directory

  4. 如何在其中一个解决方案中实时查看输出?我尝试使用 shell_cmd = go run *.go创建自己的构建系统,但是使用取消构建停止该过程则不起作用。也许你可以解释我如何停止正在运行的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
    }
    

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

    P.S。程序不仅仅是执行和退出 - 它是一项服务,因此我应该在需要的操作发生时看到输出。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

我找到了一个教程,可以在此处的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