我的电脑系统是windows系统,原来我的电脑上只安装了go1.21.5版本,并且设置了goroot为go的安装路径。但是,当我git了viteess的项目代码,vitess项目依赖go1.23.3版本,我并没有安装go1.23.3的版本,也没有安装go版本管理工具。但是,当我执行go mod tidy之后。再执行go env,我发现goroot的路径变成了一个动态生成的路径,似乎,这个路径是个版本管理工具管理。在D:\Go\pkg\mod\golang.org路径下产生了不同版本go代码包。看着像是go module的一个版本管理功能,但是,我查阅一下资料,似乎并没有找到相关依据。
这一个困惑尚未解开,有时间再做研究。
不过由此,带来了一个问题。 虽然,程序能够正常跑起来,但是,却不能实现跳转到函数定义地方的问题。导致这个问题的原因在于多版本下的工具缺少。
比如,go1.23.2包下的工具只有基本的两个工具。
所以,我们需要安装对应的工具。
步骤如下:
检查 gopls 是否正常工作:
在终端中运行以下命令,确保 gopls 已正确安装并且没有错误:
go install golang.org/x/tools/gopls@latest
在 VS Code 中,打开命令面板(Ctrl+Shift+P),输入并选择 Go: Restart Language Server,重启 gopls。
代码不能跳转问题貌似这么操作可以成功。仅作记录。