go mod 后 emacs godef 找不到定义。

在更新到Go modules后,发现Emacs中的godef插件无法正常找到代码定义。本文将探讨这个问题的原因,并分享解决此问题的方法,帮助Go开发者在使用mod管理依赖时,依旧能高效地进行代码跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>

# if running bash                                                    
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists                  
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

#csutom go project path                                  
export GOPATH="/home/richard/project/project_go"
#go install path                                                  
export GOROOT=/usr/local/go
export PATH=$PATH:${GOPATH}/bin:${GOROOT}/bin
# Enable the go modules feature
export GO111MODULE=on
# Set the GOPROXY environment variable
export GOPROXY=https://goproxy.io
配置插件安装:
    go get -u -v github.com/nsf/gocode
    go get -u -v github.com/rogpeppe/godef
    go get -u -v golang.org/x/lint/golint
//执行go mod 会把依赖拷贝过来 godef 就能找到 定义
go mod vendor  
emacs 配置
;;;custom go ide                                 
;;;代码释义用M-x godef-describe或者C-c C-d                  
;;;代码跳转用M-x godef-jump 或者C-c C-j                           
(require 'go-autocomplete)
(require 'go-eldoc)
(require 'go-mode)
(require 'auto-complete-config)
(require 'golint)
(ac-config-default)
(defun go-mode-setup ()
  (go-eldoc-setup)
  (setq gofmt-command "goimports")
  (setq compile-command "go build -v && go test -v && go vet")
  (define-key (current-local-map) "\C-c\C-c" 'compile)
  (add-hook 'before-save-hook 'gofmt-before-save)
  (local-set-key (kbd "M-.") 'godef-jump))
(add-hook 'go-mode-hook 'go-mode-setup)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值