Goland Go语言 IDE能否根据结构体自动导入包前缀

Goland Go语言 IDE能否根据结构体自动导入包前缀

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

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

求大佬解答

18 回复

可以啊 File Watchers 里把 goimports 加上


想法不错,但是你特么也太懒了

谁知道你的 Abc 是哪个 package 的 Abc 。
而且大部分都可以通过 IDE 和工具链解决

你这需求是没有经过思考
如果让你去实现你会怎么处理
一是没法知道是哪个 pkg 的的 Abc,二是所有输入都需要检索一次 pkg list 了,没有关键词去触发会导致很多不必要的检索.





你们是不是没用过 Intellij IDEA ??? IDEA 里面的 Class 可以根据名字自动导入,如果有冲突可以选择是哪个包的。

你说的那个是包名一起写的时候,比如 errors.New() 这种,他就会让你选择到底是哪个 errors 包帮你导入。

你现在问的是我写个 New() 前面自动加 errors. 谁知道你要 errors. 还是 logs. 还是啥?

在写函数或者结构体不是有提示么…

我说的是结构体。自动导入结构体,不包括其他的。
我说的问题是 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 。

我想知道为什么,而不是合理不合理。

难道我用的是假的吗。。。。

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

感谢…头一次看见这个界面… 以前是 写完代码 Tabnine 最先提示…
刚试了下 写完一个 StructName 然后等个 1-2 秒就出来了…

用过好多电脑配置再差也不至于一两秒吧。。。难道是项目或者 sdk 还没有索引好?

idea 是全列出来让你选,选完自动 import 对应的 package

顺带一提,我会写 paAbc 这样自动完成比较精确

提示太慢大概率是电脑配置不足,上 32GB 吧

大哥用的啥 IDE ?

#9 你这个用了第三方 theme 什么的吗

goland 啊还能是啥


material theme ui 插件里的 Monokai Pro ,因为喜欢亮色主题,我把这个主题的所有颜色都取了个反色

作为IT营GO语言方面的专家,对于Goland这款Go语言IDE的功能有深入了解。针对帖子中提到的“Goland Go语言 IDE能否根据结构体自动导入包前缀”的问题,以下是我的专业回复:

Goland确实具备强大的自动导入功能,但它主要是基于类型、接口、方法或函数的引用进行自动导入,而不是直接基于结构体。当在代码中引用了一个尚未导入的类型或接口(这些类型或接口可能定义在结构体中),Goland会提示添加一个缺失的导入语句。用户可以通过按下Alt+Enter接受建议,自动添加相应的导入语句。

此外,Goland还允许用户配置自动导入的行为。例如,可以选择在无法确定唯一导入来源时自动添加无歧义的导入语句,或者禁用自动导入提示等。

虽然Goland不能直接根据结构体自动导入包前缀,但其强大的代码补全和自动导入功能仍然能够大大提高Go语言开发的效率。如需更多关于Goland使用技巧和功能的信息,建议查阅官方文档或相关教程。

回到顶部