我通过以下方式安装了godef
go get github.com/rogpeppe/godef
我已经安装了emacs go-mode,并且在.bashrc中有以下导出:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
找到godef
godef -h # appears to work.
如:
$ godef -h
usage: godef [flags] [expr]
-A print all type and members information
-a print public type and member information
-acme
use current acme window
-debug
debug mode
-f string
Go source filename
-i read file from stdin
-json
output location in JSON format (-t flag is ignored)
-o int
file offset of identifier in stdin (default -1)
-t print type information
当我在emacs会话的文件中运行C-c C-d
时,该文件应按以下方式调用godef-describe
函数
https://github.com/dominikh/go-mode.el
我希望:
Integration with godef
godef-describe (C-c C-d) to describe expressions
godef-jump (C-c C-j) and godef-jump-other-window (C-x 4 C-c C-j) to jump to declarations
This requires you to install godef via go get github.com/rogpeppe/godef.
很酷,都准备好了。但是当我尝试在go文件中使用C-c C-d时,我得到:
Could not run godef binary
我可以在命令行上运行它,并且它的定义正确。发生什么事了?
我发现:
M-x godoc
// then
godoc: OSReadDir // for example
生产
godoc: /bin/bash: go: command not found
哪位对我建议,即使在普通的外壳程序中找到了godef和godoc,但emacs中可能仍然存在一些路径问题?如何检查或修复?
答案 0 :(得分:2)
又是这样:
https://askubuntu.com/questions/1045712/emacs-launched-from-favorites-doesnt-read-bashrc
如果从Ubuntu启动器启动emacs,则不会加载.bashrc。
您必须打开一个终端,然后致电
$ emacs
弹出的emacs将已经从shell继承了.bashrc。
答案 1 :(得分:0)