Goland 引用问题求教

285 天前
 northluo

现在有 3 个结构体

type A struct {
    *B
    ccc.C
}

type B struct {
    opts *Option
}

package ccc
type C struct {
    opts *Option
}

type Option struct {
    emlog.Logger   // 日志
}

// 测试函数
func (a *A) testMethod() {
    a.opts.Logger // 此时 Goland 中 opts 的引用会报错, 提示 Ambiguous reference 'opts' ,但是可以编译 可以运行,因为只能引用 B 里面的 opts ,C 跨包了,是私有的 opts ,但是 Goland 会索引到就很离谱(同事用的 vscode 就没问题)
    a.B.opts.Logger // Goland 不会报错 
}

各位大佬知道如何配置 goland 解决这个问题吗?

1891 次点击
所在节点    Go 编程语言
9 条回复
danbai
285 天前
清空索引可以吗
northluo
285 天前
@danbai 试过两次 还是不行,讲道理小写的 opts 不是同一个包下并不会索引到~~
pkoukk
285 天前
我不用 goland 就是因为 go 明明提供了 gopls ,它非不用...非要自己搓一个...
MoYi123
285 天前
northluo
285 天前
@MoYi123 我去 还真是~~2 年前的 bug 了,这还不修~
x1aoYao
285 天前
@pkoukk 是的。JB 一家明显没法像每个语言各自维护的 LSP 做的完善
imherer
281 天前
说实话以前还没遇到过类似的问题,但是最近经常遇到各种爆红,结构体点不出来,实际上运行又没问题
luffy2u
273 天前
@imherer 经常碰到这种,重启才能解决
imherer
273 天前
@luffy2u 我是重启都解决不了,只要它爆红了,就一直红到底

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1096925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX