如何在GoClipse中交叉引用?

Tie*_*Dad 3 eclipse go cross-reference goclipse

我昨天在Macbook上安装了带有Goclipse插件的Eclipse(Mars).他们最初工作得很好.但今天我发现我不能做交叉引用(这意味着cmd +点击关键字无法跳转定义).控制台显示:

Running: oracle -pos=/Users/myname/coreos/naas/server/src/mycompany.com/hh/naas-server/main.go:#389,#389
-format=json describe mycompany.com/hh/naas-server
FAILED: Could not start process:    
Reason: Cannot run program "oracle": error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)

icz*_*cza 7

正如Voker所说,GoClipse只是一个Eclipse插件.要编译,构建,运行Go包和应用程序,它需要Go工具.

您可以在设置页面上设置标准Go工具:

Window -> Preferences -> Go
Run Code Online (Sandbox Code Playgroud)

您可以在页面上设置一些非标准的,不同的Go工具:

Window -> Preferences -> Go -> Tools
Run Code Online (Sandbox Code Playgroud)

这是您可以告诉GoClipse oracle和gocode程序所在的位置.

您必须自己下载oracle,但上面的设置页面为您提供了一个按钮:

Download Go oracle (run: `go get -u golang.org/x/tools/cmd/oracle`)

所以你必须go get手动或通过上述按钮.使用安装它go install,因此您将拥有可执行二进制文件oracle.您必须oracleGo -> Tools设置页面上设置完整路径,它才会起作用.

虽然我们在这里:我还建议您安装gocode(https://github.com/nsf/gocode),它将为您提供自动完成功能(CTRL+SPACECMD+SPACE包中的导出标识符列表,方法列表等等.).也可以使用相同设置页面上的按钮:

Download gocode (run: `go get -u github.com/nsf/gocode`)

安装它并设置生成的可执行二进制文件的完整路径gocode.