最近尝试使用 go Mod,发现有 gomod 的项目用 VSCode 打开之后,代码补全自动引入之类的功能都很奇怪
补全变得很慢,比如输入 sql,如果用 gomod,直接就弹出 import 提示了,用了 gomod 就会很久或者干脆不提示.
使用 gopath 可以直接用 sql.这种方式呼出提示,现在需要我手动(可能是后台跑的太慢或者失败了)呼出,等个三五秒才行.
感觉是 gocode-gomod.exe 这个工具跑的比较慢,不知道你们有没有遇到这种情况,都是怎么解决的
1
shynome 2019-01-02 17:22:16 +08:00 1
还有很多工具还不支持 gomod , 见 issue
https://github.com/golang/go/issues/24661 |
2
kidlj 2019-01-02 17:30:08 +08:00 via iPhone 1
嗯,是这样,这个扩展一堆 issues 没解决,就因为这个我最近的项目都用的 gopath mode。前几天 russ cox 发了一篇关于 go modules 的官方博文,列出了在 2019 年里 go modules 的支持和迁移计划,其中包括一项对众多 go tools 的改进。
|
3
wweir 2019-01-02 17:40:49 +08:00 1
最近 vscode 搭配 bingo(lsp) 服用,感觉良好。因为是常驻服务,有 cache,跳转飞快
|
4
wweir 2019-01-02 17:41:40 +08:00
|
5
Hellert 2019-01-02 18:03:03 +08:00 1
也遇到了,启用 go.mod 后,CodeCompletion 非常慢。
我是用最新 gocode.exe 改名替换 gocode-gomod.exe 解决的,目前使用中还没发现问题。 godef-gomod.exe 后期版本会被废弃,因为 godef.exe 已经支持 gomod 了,也可以改名替换用最新的 godef.exe 。 golang 1.11.* ,modules 这块估记还没定型,最近几个小版本变化比较大,很多插件和包估记在观望。比如那个语义化版本,如果包的版本是 v2 以上的,要在 go.mod 的 module 里加上版本号,比如 github.com/org/package/v3 这样,使用时 import 也要加上类似 v3 这样的版本。 目前很多包不支持这个,如果包的版本已经到 v3,在启用 go.mod 的情况下,如果你直接 go get 就获取不到最新的版本,还得手动去提定最新版本号来 get。 |
6
gowk 2019-01-02 19:48:21 +08:00
建议用 JetBrains GoLand
|
7
Stevenv 2019-01-02 21:07:56 +08:00 via Android
建议用 idea 或者 goland
|
8
kungfuchicken 2019-01-02 21:12:17 +08:00
付费 Goland 真香警告
|
9
reus 2019-01-07 08:49:35 +08:00
过几个月就完善的了。go 的周边工具比起其他语言好得多,没什么必要用 goland 这种东西。
|
10
arbent 2019-04-26 18:40:37 +08:00
考虑下 gopls
|
11
lysS 2020-09-25 14:52:31 +08:00
这问题快一年了,很不幸我也遇到了。
环境:windows 10, go1.15 。 我发现你把环境变量中的 GO111MODULE 设置为 off(不是在命令行中 set),重启 VSCode 它的自动补全就正常了。 再把设置为 on,重启 VSCode,自动补全又差不多有五秒的延时了。 这代码的补全依靠 gocode,可以通过 gocode -debug 命令查看偏移,正常的应该低于 1ms,如果把 GO111MODULE 设置为 on,偏移会有几秒。 解决方式:居然时 gocode,我们就去 GitHub 看看这个项目,直接写着 Otherwise manually copy the gocode binary from $GOPATH/bin to a location which is part of your $PATH after getting it in step 2. 所以就这么解决啦😂😂😂 |