Goland 包导入正常,但是无法解析函数和成员属性,编译不报错

这段时间 Goland 突然出现了一个毛病,每次 go get 依赖后,虽然依赖拉下来了,但是代码里使用了这个 module 的地方无法引用出他的成员和属性,大片的标红,都提示「Unresolved reference 'xxxxx'」,但是只要把项目关了,重新打开,再次触发module的index索引动作,就恢复正常了。

本来想看看有没有什么一劳永逸的方法,修改啥配置这样以后就不会出现这个问题了,但是看了一圈博客,也问了 chatgpt ,甚至重新安装了 Goland,也还是没有找到能一次性解决的方案,最接近的话题是这个goland包导入正常但是方法全部无法解析而编译又不报错,但是他的方法我也试了好像也不行。

解决方案一

请教同事后,发现可能是电脑里的代码仓库太多了,或者某个仓库太大了,需要加载的依赖特别多,导致 goland 用来加载依赖所分配的内存不够用了,所以需要加大虚拟机的运行内存。

依次点击 Goland 功能栏「Help -> Edit Custom VM Options」,然后把配置文件里的虚拟机内存大小调大一些。

然后点击依次点击 Goland 功能栏「Help -> Edit Custom Properties」,把 idea.max.intellisense.filesize参数的值设置大一些,这个参数表示 goland 能智能识别的最大文件大小

解决方案二(我刚开始用的方案,只能缓解疼痛,无法根治)

后来随便捣鼓了一下配置,发现按照下面这个步骤可以在不重启项目的前提下触发当前项目的 module 重新 index,虽然从根本上彻底解决这个问题,但是总算是不用每次都重启项目了。

1、鼠标点击项目名,也就是选中当前项目

2、点击 「File -> Repair IDE」

在 Goland 底部可以看到 Goland 开始刷新所选中文件中可索引的文件

3、随后 Goland 右下角会出现一个提示框,「Recovery step 1: 'Refresh Indexable Files' was performed」,翻译是「已执行恢复步骤1:“刷新可索引文件”」,继续点击「Rescan Project Indexes」,将重新扫描项目的 index

这时候 Goland 会重新扫描所有的 index,这时问题应该就解决了,会发现原来标红代码已经恢复正常了。

4、Goland 右下角仍会弹出一个小弹窗,提示已经执行了恢复过程的第二步,是否恢复正常,是否需要重新项目,如果已经恢复正常,点击「Everythings Works Now」就OK了,否则点击「Reopen Project」,然后继续往下看

重启项目后,Goland 右下角出现的弹窗询问需要恢复正常,是否需要删除共享索引,可以看下项目的导入问题是否恢复正常,如果恢复正常就点击「Everythings Works Now」,否则点击「Drop shared index」

点击「Drop shared index」后,继续 Goland 右下角弹窗中的「Reindex Project」,到这里应该是可以恢复正常了,如果还是不正常,可以尝试看看其他教程,比如这个:goland包导入正常但是方法全部无法解析而编译又不报错

posted @   Lucky小黄人^_^  阅读(1886)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-06-11 linux 从远程服务器上传下载文件文件 scp 命令(转)
点击右上角即可分享
微信分享提示