我正在尝试在Linux 32位上使用LiteIDE(Go IDE)。一切都有效,除了自动完成。构建,运行,一切正常。 gocode
二进制文件似乎正在运行:
ithisa@miyasa ~> ps aux | grep gocode
ithisa 10003 0.0 0.0 823788 2624 pts/1 Sl+ 09:06 0:00 /home/ithisa/scratch/liteide/bin/gocode -s -sock unix -addr localhost:37373
我可能做错了什么?
答案 0 :(得分:9)
您可能需要设置GOROOT =。要在LiteIDE中进行设置,请查找环境工具栏;它应该是一个下拉列表,可能预先选择了“系统”,还有一个按钮。单击按钮以显示“编辑环境”窗格,然后双击“system.env”,或在下拉列表中选择的任何环境。
将启动GOROOT=
的行更改为指向“go”目录。简单的旧$ HOME / go是一个常见的设置,如果你从golang.org安装它,如果你不知道它在哪里,运行go env
将显示Go工具链本身的GOROOT
使用。当然,如果该行被注释掉(#GOROOT=
...),请删除#
。保存。
如果工具栏完全丢失,请查看 - >环境工具栏取消隐藏它。
可能还需要在.bashrc
中设置GOROOT和相关设置,因此从命令行启动的工具会看到它。我在我的homedir中安装了Go和LiteIDE,我的工作区是~/gocode
,所以我的就像:
export PATH="$HOME/go/bin:$HOME/liteide/bin:$PATH"
export GOROOT=$HOME/go
export GOPATH=$HOME/gocode
我不能确定这实际上是你的问题,但如果我取消我的GOROOT症状与你所看到的相符:完成对我的代码起作用,但不适用于标准库。祝你好运!
答案 1 :(得分:2)
你安装了gocode吗?
此外,什么都不做自动完成或只是新包?需要安装包以自动完成。你有标准的安装设置吗?
您的GOROOT和GOPATH也应该正确设置。
答案 2 :(得分:2)
我有完全相同的问题,除了64位linux(ArchLinux)
我解决了这个问题:
设置正确的GOROOT
和GOPATH
,例如:
$ cat ~/.bashrc | grep GO
export GOROOT=/usr/lib/go
export GOPATH=~/goroot
PATH="$PATH:$GOPATH/bin"
bash
安装/启动gocode守护程序
$ go get -u github.com/nsf/gocode
$ gocode -addr=:37373
$ gocode status
在LiteIDE配置文件中设置正确的GOROOT:
sudo vim /usr/share/liteide/liteenv/linux64.env
GOROOT=/usr/lib/go
答案 3 :(得分:2)
对我来说,gocode(autocomplete)在更新后在LiteIDE中断了。转到最新版本。
我所做的是确保GOPATH设置正确。然后安装gocode:
go get -u github.com/nsf/gocode
然后从liteide/bin/
文件夹中删除gocode版本,因为LiteIDE将使用自己的版本(我只是为了以防重命名)。
现在当你启动LiteIDE时,应该说
GolangCode: Found gocode at <YOUR GOPATH>/bin/gocode
而不是LiteIDE使用自己的版本。