问题:在设置golang 的开发环境中,Emacs 一直提示godef找不到。
查了几天,终于发现了问题所在。
我用的是Debian 9.1 + Cinnamon桌面 , 发现从菜单打开Emacs时,无法找到godef进行函数跳转,但是从字符终端敲Emacs命令打开时可以正常跳转。
本来通过终端打开也能进行开发了,用了几天,作为强迫证患者还是觉得不开心。于是,开始一轮搜索,解决方案也很简单。
解决:
通过包管理,下载exec-path-from-shell这个包。
在配置中加入以下几行,(一定要在 package-initialize 之后加入)
(exec-path-from-shell-copy-env "GOPATH")
(exec-path-from-shell-copy-env "GOROOT")
(when (memq window-system '(mac ns x))
(exec-path-from-shell-initialize))
重启搞定。
教训:
做一个永不妥协的猿使人。
参考文章:
https://stackoverflow.com/questions/6411121/how-to-make-emacs-use-my-bashrc-file
https://www.jianshu.com/p/23922cebec35
https://github.com/purcell/exec-path-from-shell