VSCode 写 Golang,请切换到 Google 官方语言服务器 gopls,有质的提升

2019-05-20 09:04:56 +08:00
 Hellert

自从用了 gomod,VSCode 写 golang 各种问题,一度想放弃。 最近看了 vscode-go 项目,随即切换到了 Google 官方的语言服务器 gopls,发现跳转,hover,Code Complete 等等速度都有质的飞跃,大家不防一试,方法很简单,设置:

"go.useLanguageServer": true
16448 次点击
所在节点    Go 编程语言
49 条回复
rawidn
2019-05-20 09:07:59 +08:00
jetbrain 保平安
lepig
2019-05-20 09:14:26 +08:00
生在了这么好的时代 为啥不用 goland 省心
xy2401
2019-05-20 09:17:29 +08:00
goland 免费吗?
fintan
2019-05-20 09:26:23 +08:00
这个月 Go 语言插件第一次更新的时候就把启用 gopls 这个选项设为默认了
janxin
2019-05-20 09:29:42 +08:00
@lepig 因为买不起?
wweir
2019-05-20 09:32:19 +08:00
用上 lsp 几个月了,也是最近一个月才切换的 gopls,各种流畅各种爽。唯一权限是还不支持 go modules
amaker
2019-05-20 09:32:35 +08:00
哪里设置
Hellert
2019-05-20 09:35:50 +08:00
@wweir gomod 支持,我最近一直在用,没发现什么问题
janxin
2019-05-20 09:36:42 +08:00
@wweir 支持的吧,只是支持经常会出问题
wweir
2019-05-20 09:43:58 +08:00
@Hellert 慢得要死,没法用,当然,有段时间没有这玩意了,特别是与 gopls 不搭

@janxin 我说的是
1. 项目放在 gopath 对应位置,能读到正确的依赖
2. 项目不放在 gopath,各功能正常工作
Hellert
2019-05-20 09:45:59 +08:00
@wweir gopls 最近更新很频繁,你要手动升级一下才行:Go: install/update tools
BBCCBB
2019-05-20 09:50:44 +08:00
挂了代理装 golsp, 还是 timeout, 是我姿势不对吗
wsseo
2019-05-20 09:55:26 +08:00
楼主,gopls 需要联网吗?
以前用过 sourcegrapht 的 gopls,bingo,感觉不太成熟。
楼主现在用的哪个版本的 gopls?
janxin
2019-05-20 09:56:54 +08:00
@wsseo gopls 是官方开发过程中的,具体的更新可以看这里

https://go-review.googlesource.com/q/status:merged+gopls

反正我隔几天就会升级一次
Hellert
2019-05-20 10:00:01 +08:00
@wsseo gopls 是 google 官方的,以后估记和 godoc 这类一样会成内置吧,不需要联网。
SourceGraph 和 bingo 都停止维护了,现在都推荐用 gopls。
最新的 vscode-go 默认的 lsp 已经是 gopls,只需启用。
scnace
2019-05-20 10:03:55 +08:00
vscode-go 把 gocode 和 godef 全部 fork 了一份 然后现在 gocode-mod 不支持 package 的自动 import (本来的 gocode 是可以敲下包名就自动把 path import 进来了 现在还要自己 import 这个有点困扰了
scnace
2019-05-20 10:05:35 +08:00
(好像 vim-go 现在也用默认 gopls 了

unstable 的东西这样滥用真的好吗 XD
Hellert
2019-05-20 10:16:03 +08:00
@scnace 是的,不能自动 Import 我也遇到了,是个已知问题,后期 gopls 支持:
https://github.com/microsoft/vscode-go/issues/2484
https://github.com/golang/go/issues/31906
wsseo
2019-05-20 10:16:17 +08:00
gopls 是开源的吗,github 上有吗?
Vegetable
2019-05-20 10:21:02 +08:00
@wsseo 是,在 /x/tools/里边吧

我试了几次都是 timeout,也是一脸懵逼

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

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

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

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

© 2021 V2EX