Goland 引用问题求教

18 小时 35 分钟前
 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 解决这个问题吗?

611 次点击
所在节点    Go 编程语言
6 条回复
danbai
18 小时 19 分钟前
清空索引可以吗
northluo
18 小时 16 分钟前
@danbai 试过两次 还是不行,讲道理小写的 opts 不是同一个包下并不会索引到~~
pkoukk
18 小时 9 分钟前
我不用 goland 就是因为 go 明明提供了 gopls ,它非不用...非要自己搓一个...
MoYi123
18 小时 8 分钟前
northluo
17 小时 58 分钟前
@MoYi123 我去 还真是~~2 年前的 bug 了,这还不修~
x1aoYao
17 小时 51 分钟前
@pkoukk 是的。JB 一家明显没法像每个语言各自维护的 LSP 做的完善

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

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

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

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

© 2021 V2EX