
自从用了 gomod,VSCode 写 golang 各种问题,一度想放弃。 最近看了 vscode-go 项目,随即切换到了 Google 官方的语言服务器 gopls,发现跳转,hover,Code Complete 等等速度都有质的飞跃,大家不防一试,方法很简单,设置:
"go.useLanguageServer": true 1 rawidn May 20, 2019 via iPhone jetbrain 保平安 |
2 lepig May 20, 2019 生在了这么好的时代 为啥不用 goland 省心 |
3 xy2401 May 20, 2019 goland 免费吗? |
4 fintan May 20, 2019 via iPhone 这个月 Go 语言插件第一次更新的时候就把启用 gopls 这个选项设为默认了 |
6 wweir May 20, 2019 via Android 用上 lsp 几个月了,也是最近一个月才切换的 gopls,各种流畅各种爽。唯一权限是还不支持 go modules |
7 amaker May 20, 2019 哪里设置 |
10 wweir May 20, 2019 via Android |
12 BBCCBB May 20, 2019 挂了代理装 golsp, 还是 timeout, 是我姿势不对吗 |
13 wsseo May 20, 2019 楼主,gopls 需要联网吗? 以前用过 sourcegrapht 的 gopls,bingo,感觉不太成熟。 楼主现在用的哪个版本的 gopls? |
14 janxin May 20, 2019 @wsseo gopls 是官方开发过程中的,具体的更新可以看这里 https://go-review.googlesource.com/q/status:merged+gopls 反正我隔几天就会升级一次 |
15 Hellert OP @wsseo gopls 是 google 官方的,以后估记和 godoc 这类一样会成内置吧,不需要联网。 SourceGraph 和 bingo 都停止维护了,现在都推荐用 gopls。 最新的 vscode-go 默认的 lsp 已经是 gopls,只需启用。 |
16 scnace May 20, 2019 via Android vscode-go 把 gocode 和 godef 全部 fork 了一份 然后现在 gocode-mod 不支持 package 的自动 import (本来的 gocode 是可以敲下包名就自动把 path import 进来了 现在还要自己 import 这个有点困扰了 |
17 scnace May 20, 2019 via Android (好像 vim-go 现在也用默认 gopls 了 unstable 的东西这样滥用真的好吗 XD |
18 Hellert OP @scnace 是的,不能自动 Import 我也遇到了,是个已知问题,后期 gopls 支持: https://github.com/microsoft/vscode-go/issues/2484 https://github.com/golang/go/issues/31906 |
19 wsseo May 20, 2019 gopls 是开源的吗,github 上有吗? |
21 alexmy May 20, 2019 我打开 setting.json 一看,默认就是 true 了。还是我失忆了。 |
22 wsseo May 20, 2019 goland 也是蛮好的,就是太贵了,一年要 1000 多,对一些人来说可能没必要。goland 字体渲染比 vscode 差。 |
23 Muninn May 20, 2019 想要更激进一点,用这个 https://github.com/saibing/tools bingo 的作者被邀请去写官方的 gopls,他会先在这里试,然后 merge 的官方库。 总之最近是一直在更新了。 |
25 jinliming2 May 20, 2019 via iPhone @wsseo 没 1000 多那么贵吧?我买的单版本授权也就 89 刀一年,合计也就 600 多人民币啊…… |
26 coldsnap May 20, 2019 gopls 有 rename 的功能吗?好像没找到配置可以开启,现在 go-renames 太慢了 |
28 Trim21 May 20, 2019 之前用 vscode,我记得有个用到的工具还不支持 go mod,被迫换回 goland... |
29 fuxiaohei May 20, 2019 gopls 会莫名其妙的内存泄漏和 cpu 巨高 |
30 wsseo May 20, 2019 @jinliming2 哦,我记错了,企业版是 1000 多 |
31 wuchujie May 20, 2019 现在推荐用啥?我记得官方 github 之前推荐用 bingo 因为 mod 支持不好。我刚看了下配置还是 "go.useLanguageServer": true, "go.alternateTools": { "go-langserver": "bingo" }, "go.languageServerFlags": [ "-enhance-signature-help", "-trace", "-format-style=goimports", ], |
32 index90 May 20, 2019 羡慕那些用得起免费的人 |
35 whoami9894 May 20, 2019 你们的 vscode-go 能提示标准库吗,输`import "github.com/"`或者`import "net/"`时自动补全包名 |
36 judeng May 20, 2019 The gopls server crashed 5 times in the last 3 minutes. The server will not be restarted. 开启后 crash 啊 |
37 kidlj May 20, 2019 当前 vscode-go/ gopls 对 modules 的支持还有不少问题。 我是这样用的: 把项目目录建立在 GOPATH 里。安装依赖时设定 GO111MODULE=on,然后 go mod vendor 到 vendor 目录。 之后 GO111MODULE=off 使用,vscode-go 对 GOPATH 模式支持得很好。如果新加依赖就重复上述过程。 |
38 suckli May 20, 2019 在公司内网连 go get 都用不了的人表示 挺羡慕你们的 |
39 wsseo May 20, 2019 |
40 wsseo May 20, 2019 使用传统 go tools,Windows 下函数提示,跳转定义较慢。建议用 vscode remote 到 linux 或各用 mac。 |
42 LokiSharp May 20, 2019 via iPhone 羡慕用得起 vscode 的人 |
43 wweir May 20, 2019 via Android 搞明白 gopls 的坑了:只认一个根目录。 可以是 gopath,也可以是一个 go modules 项目目录, 同一 workspace 打开两个 目录,铁定报错 |
45 d0m2o08 May 21, 2019 win10 vscode remote 加上 gopls, 导致跳转定义不能用,禁用之后跳转定义正常,有大佬遇到过么 |