V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
northluo
V2EX  ›  Go 编程语言

Goland 引用问题求教

  •  
  •   northluo · 18 小时 16 分钟前 · 611 次点击

    现在有 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 解决这个问题吗?

    6 条回复    2024-12-12 11:09:11 +08:00
    danbai
        1
    danbai  
       17 小时 59 分钟前
    清空索引可以吗
    northluo
        2
    northluo  
    OP
       17 小时 57 分钟前
    @danbai 试过两次 还是不行,讲道理小写的 opts 不是同一个包下并不会索引到~~
    pkoukk
        3
    pkoukk  
       17 小时 49 分钟前
    我不用 goland 就是因为 go 明明提供了 gopls ,它非不用...非要自己搓一个...
    MoYi123
        4
    MoYi123  
       17 小时 48 分钟前
    northluo
        5
    northluo  
    OP
       17 小时 38 分钟前
    @MoYi123 我去 还真是~~2 年前的 bug 了,这还不修~
    x1aoYao
        6
    x1aoYao  
       17 小时 32 分钟前
    @pkoukk 是的。JB 一家明显没法像每个语言各自维护的 LSP 做的完善
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   881 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.