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

GoLand 能否根据结构体 自动导入包前缀

  •  
  •   monetto · 2022-01-21 13:55:33 +08:00 · 2094 次点击
    这是一个创建于 1019 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,直接写 package.Abc 是可以在上面 自动加入 import package 的。

    但是能不能有办法 只写 Abc , 然后 GoLand 自动在前面补全 pakcage.

    求大佬解答

    第 1 条附言  ·  2022-01-21 16:43:48 +08:00
    可以了...Tabnine 的自动提示速度远高于 GoLand 自动提示速度... 造成我以为自动提示框里就是全部的... 实际情况是等几秒就好了...
    17 条回复    2022-01-22 12:50:02 +08:00
    imherer
        1
    imherer  
       2022-01-21 14:02:35 +08:00
    可以啊 File Watchers 里把 goimports 加上
    airplayxcom
        2
    airplayxcom  
       2022-01-21 14:08:15 +08:00
    想法不错,但是你特么也太懒了
    Hanggi
        3
    Hanggi  
       2022-01-21 14:15:08 +08:00
    谁知道你的 Abc 是哪个 package 的 Abc 。
    而且大部分都可以通过 IDE 和工具链解决
    Immortal
        4
    Immortal  
       2022-01-21 14:18:55 +08:00
    你这需求是没有经过思考
    如果让你去实现你会怎么处理
    一是没法知道是哪个 pkg 的的 Abc,二是所有输入都需要检索一次 pkg list 了,没有关键词去触发会导致很多不必要的检索.
    monetto
        5
    monetto  
    OP
       2022-01-21 14:22:06 +08:00
    @airplayxcom
    @Hanggi
    @Immortal

    你们是不是没用过 Intellij IDEA ??? IDEA 里面的 Class 可以根据名字自动导入,如果有冲突可以选择是哪个包的。
    Hanggi
        6
    Hanggi  
       2022-01-21 14:26:35 +08:00
    @monetto 你说的那个是包名一起写的时候,比如 errors.New() 这种,他就会让你选择到底是哪个 errors 包帮你导入。

    你现在问的是我写个 New() 前面自动加 errors. 谁知道你要 errors. 还是 logs. 还是啥?
    hb0730
        7
    hb0730  
       2022-01-21 16:06:56 +08:00
    在写函数或者结构体不是有提示么...
    monetto
        8
    monetto  
    OP
       2022-01-21 16:20:12 +08:00
    @Hanggi 我说的是结构体。自动导入结构体,不包括其他的。
    我说的问题是 JetBrains 家的 IDE Intellij IDEA 可以实现的。可以只写 Class Name 然后自动寻找 Package Name ,并且下面是可以选择使用哪个 Package 的。然后实现只写一个,自动导入 /补全。

    比如,你在 某个 Class 里面写 HashMap ,他就会自动找,都哪些包里有 HashMap 。是 java.util 还是 com.xxx.xxx ,并且弹出自动提示框。做到只写一个 Class Name ,自动寻找所有包含这个 Class Name 的 Package 。

    一个是 pom.xml 可以获取所有依赖包,一个是 Go.mod 可以获取所有依赖包。
    一个是 Class Name 可以去所有包里面找 Class ,但是另一个就不能通过 Struct Name 去寻找 Struct 。

    我想知道为什么,而不是合理不合理。
    BeautifulSoap
        9
    BeautifulSoap  
       2022-01-21 16:31:38 +08:00
    难道我用的是假的吗。。。。

    这样 tab 选择对应的对象之后直接不就帮你导入对应的包了。。。。

    monetto
        10
    monetto  
    OP
       2022-01-21 16:42:56 +08:00
    @BeautifulSoap 感谢...头一次看见这个界面... 以前是 写完代码 Tabnine 最先提示...
    刚试了下 写完一个 StructName 然后等个 1-2 秒就出来了...
    BeautifulSoap
        11
    BeautifulSoap  
       2022-01-21 16:46:49 +08:00 via Android
    @monetto 用过好多电脑配置再差也不至于一两秒吧。。。难道是项目或者 sdk 还没有索引好?
    Jwyt
        12
    Jwyt  
       2022-01-21 16:50:26 +08:00
    @Hanggi idea 是全列出来让你选,选完自动 import 对应的 package
    mcfog
        13
    mcfog  
       2022-01-21 16:52:26 +08:00
    顺带一提,我会写 paAbc 这样自动完成比较精确
    lewinlan
        14
    lewinlan  
       2022-01-21 21:36:30 +08:00 via Android
    提示太慢大概率是电脑配置不足,上 32GB 吧
    logique
        15
    logique  
       2022-01-21 22:09:47 +08:00
    @BeautifulSoap 大哥用的啥 IDE ?
    hzzhzzdogee
        16
    hzzhzzdogee  
       2022-01-21 22:35:44 +08:00
    @BeautifulSoap #9 你这个用了第三方 theme 什么的吗
    BeautifulSoap
        17
    BeautifulSoap  
       2022-01-22 12:50:02 +08:00
    @logique goland 啊还能是啥


    @hzzhzzdogee material theme ui 插件里的 Monokai Pro ,因为喜欢亮色主题,我把这个主题的所有颜色都取了个反色
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3470 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:45 · PVG 18:45 · LAX 02:45 · JFK 05:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.