9

我在尝试设置 go 以从 Sublime text 2 运行当前文件时遇到问题。这是我的 go.sublime-build 文件中的内容

{
    "cmd": [ "go", "run", "${file}" ]
}

当我尝试在 go 源文件上运行构建时,出现错误

[Error 6] The handle is invalid
[cmd:  [u'go run', u'C:\\Users\\gprasant\\Documents\\GitHub\\programming_pearls\\src\\go\\quicksort.go']]
[dir:  C:\Users\gprasant\Documents\GitHub\programming_pearls\src\go]

有什么办法可以解决这个问题吗?或者 Sublime text 中是否有另一个用于 Go 开发的插件?

4

6 回答 6

10

安装GoSublime应该可以为您工作。安装并重新启动 ST2 后:按 ctrl-B,输入“run”并回车。

于 2012-12-11T10:53:39.977 回答
8

我过得很好

{
    "cmd": "go run $file",
    "shell" : true
}
于 2013-10-13T01:37:42.767 回答
5

在 ST3 中:改为:

{
    "shell_cmd": "go run ${file}"
}
于 2014-08-31T14:42:52.393 回答
3

在我的 Mac 上,我需要以下代码:

/Users/your_user_name/Library/Application Support/Sublime Text 2/Packages/User/go.sublime-build

go.sublime-build

{
    "cmd": ["go run '${file}'"],
    "selector": "source.go",
    "path": "/usr/local/go/bin",
    "shell": true
}  
  • “cmd”行引用是为了正确处理带空格的文件路径。
  • 需要“shell”行,因为注释它会破坏它。
  • 需要“path”行,因为基本 shell 无法访问我的 .zshrc 文件,包括定义 go 路径的 export GOPATH 语句。

之后,任何 .go 文件都应该使用 command+B 构建和运行,将 stdout 消息留在内置于 sublime text 2 中的控制台中。

于 2013-07-09T06:22:19.703 回答
1

关于什么:

{
    "cmd": ["go", "run", "${file}"],
    "path": "/user/local/go/bin"
}  

我喜欢 GoSublime,只是讨厌每次单击 Command + B 时都输入 run

于 2012-12-12T14:29:12.127 回答
0

用于 golang 的 SublimeText 2 构建系统,使 F4/shift-F4工作(下一个错误/上一个错误)

1、创建一个文件:~/gosublime_build.sh

GOPATH=~/go
export GOPATH 
echo "GOPATH:$GOPATH"

if [ "$3." = "RUN." ]
  then 
     EXENAME=${1##*/}
     EXENAME=$GOPATH/bin/$EXENAME
     echo $EXENAME
     $($EXENAME)
     echo "code: $?"
     exit
fi

echo "go build $2"
cd /usr/local/go/bin
./go build -o ~/temp.go.compiled $2
if [ $? -eq 0 ]
 then
   cd $1
   echo "Project: " $1
   /usr/local/go/bin/go install
   echo "go install exit code: $?"
 else
   echo "go build exit code: $?"
fi

第二:

chmod 777 ~/gosublime_build.sh

第三:为“go”创建一个新的 sublime2 构建系统(工具/构建系统/新建)

{
"cmd": ["~/gosublime_build.sh $file_path $file"]
,"shell": true
,"selector": "source.go"
,"file_regex": "([\\w/_-]+[.]{1}[\\w./_-]+?):([0-9]+):?([0-9]+)?(.*)?"
}  

第四:选择你的新构建系统(工具/构建系统)

第 5 次:使用 Ctrl-B、F4/Shift-F4 构建:下一个/上一个错误

如果有人知道如何指示 go 编译器为每个错误通知文件和行的完整路径,则可以简化此过程

于 2015-02-02T01:58:28.007 回答