go mod init 之后 vscode报错gopls was not able to find modules in your workspace
问题出现:在A文件夹下创建了一个B文件夹,在B文件夹下写了一个项目,对B文件夹go mod init之后,module有效并且项目成功运行了,然后!我在A文件夹下又创了一个C文件夹,想在下面写项目,写了一个文件后对C文件夹go mod int,这个时候红色波浪线出现了(B、C文件夹下文件都有)不仅报错 而且一些go内置的函数找不到定义。后来把C文件夹删了也不起作用,并且在其他路径下go mod init也会报错
解决问题:
上文是我在网上看了2天2夜,尝试了各种方法及卸载重装go两次之后 唯一成功的方法,我愿称之为yyds !!!
闲谈:没有想到是上述workspace,因为那个提示信息里有说可以通过设置什么workspace来解决问题当时我看了网络上很多帖子都是在settings里设置以下的什么workspace,但是设置了之后不仅没用而且vscode会弹出提示,说设置这个会过时,以后会取消啥的,好像是因为go mod已经出来了吧
设置这个无效🙅♀️❌
1 "gopls": { 2 "experimentalWorkspaceModule": true 3 }
没解决的问题:我在虚拟机(centos7)里修改了环境变量GOPATH和GOPROXY,并且source了使其生效,我也go env了看了一下,然后!我重新打开vscode,在终端执行go env,在vscode里根本就没改!!也就是说vscode里go的环境变量跟我虚拟机上的不一致!!并且我在vscode终端里修改了环境变量,只消等几分钟又变回去了,根本就修改不了vscode里go的环境变量,各种settings里我都去尝试了添加修改gopath,根本无效!!但是之前对c/c++ settings里的修改会生效(奇了怪了)
对了,vscode里go的那些工具安装失败也有这个原因,vscode和虚拟机gopath路径不一致,导致安装时找不到gopath下的工作文件夹 然后呢它就想着找不到那我就创建一个工作文件夹吧 但是又没写权限,最后 安装FAILED,解决方法就是把工作文件夹放在 vscode里保存的gopath路径 下,并且赋予写权限,图方便就改成777吧
vscode里go的环境变量跟虚拟机上不一致:是第二次卸载go时,我把虚拟机上go卸载了(可自行搜索彻底卸载go,包括删除配置文件里信息和GOROOT下文件等等),把vscode里那些go插件也全删了,一些跟go配置相关的文件夹也都删了,然后重新装回来,全部重弄一遍,终于,vscode里go的环境变量修改了,两者终于一致了😭
但是我还是不知道原因,除了这种卸载重装不知道怎么才能修改vscode里go的环境变量
我不理解为什么vscode里go 修改settings里配置没用🙂
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现