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

2022-01-21 13:55:33 +08:00
 monetto

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

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

求大佬解答

2094 次点击
所在节点    Go 编程语言
17 条回复
imherer
2022-01-21 14:02:35 +08:00
可以啊 File Watchers 里把 goimports 加上
airplayxcom
2022-01-21 14:08:15 +08:00
想法不错,但是你特么也太懒了
Hanggi
2022-01-21 14:15:08 +08:00
谁知道你的 Abc 是哪个 package 的 Abc 。
而且大部分都可以通过 IDE 和工具链解决
Immortal
2022-01-21 14:18:55 +08:00
你这需求是没有经过思考
如果让你去实现你会怎么处理
一是没法知道是哪个 pkg 的的 Abc,二是所有输入都需要检索一次 pkg list 了,没有关键词去触发会导致很多不必要的检索.
monetto
2022-01-21 14:22:06 +08:00
@airplayxcom
@Hanggi
@Immortal

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

你现在问的是我写个 New() 前面自动加 errors. 谁知道你要 errors. 还是 logs. 还是啥?
hb0730
2022-01-21 16:06:56 +08:00
在写函数或者结构体不是有提示么...
monetto
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
2022-01-21 16:31:38 +08:00
难道我用的是假的吗。。。。

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

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


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

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

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

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

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

© 2021 V2EX