vscode使用“install from VSIX”安装了“go for vscode”插件,并且Windows环境也装了go运行环境,但是打开golang代码,鼠标右键没有GO to Definition这一些列跳转项,只有“Paste”后面这一堆和go相关的,并且ctrl+鼠标左键,不能跳转代码到定义。
各种渠道搜资料,包括chatgpt,最后的结论是,其实处理这个问题特别简单。
问题原因是没有装gopls,怎么安装呢?
1、在线(有网)环境下安装gopls
①打开vscode,执行Ctrl + Shift + P,然后在上方弹框直接输入Go:Install/Update Tools,选中弹出的gopls,执行安装
②、执行Ctrl +逗号,弹出的设置界面,搜“go:use language server”,勾选这一项。
③、重启vscode就行,如果不行,就把第②步勾选的去掉,重启vscode,再勾选上,再重启。
2、离线环境下安装gopls
①、从有网环境取gopls包:在有网环境的vscode里面,执行Ctrl + Shift + P,然后直接只输入Go: Locate Configured Go Tools,在弹出的文件里面搜gopls,能够找到当前环境gopls.exe的路径,把这个exe文件拷贝到没有网络的环境;
②、在无网络环境的vscode执行Ctrl +逗号,弹出的设置界面,搜“setting”,最前面能够看到settings.json,点击就能打开配置文件,最后在配置文件里面配置gopls相关配置项就行。
总结
说白了,就是把gopls.exe放在一个固定位置,然后在vscode的配置文件里面指定gopls的路径就行了,记得也要把use language server打开哦。
本身是非常简单的,但是很多资料都描述得有点复杂,甚至误导人。