实在受不了 VScode 写 Go 的体验了, GoLand 真香 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
whoami9894
V2EX    Go 编程语言

实在受不了 VScode 写 Go 的体验了, GoLand 真香

  •  
  •   whoami9894 2019-09-14 15:33:52 +08:00 29556 次点击
    这是一个创建于 2221 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个不大的项目就 30 来个.go 文件,go mod 做包管理

    从根目录打开 VScode,补全提示,变量提示等了五分钟硬是没加载出来,用的还是最新的 gopls

    这次真的放弃 VScode 了,刚刚装了 GoLand,edu 邮箱注册直接给 license,秒出提示,太香了

    记得原来还给别人安利 VScode 装点插件完全够用,对不起,我收回我的话....

    第 1 条附言    2019-09-15 21:44:11 +08:00
    刚编译了 [email protected],问题基本解决了,性能优化了不少,速度挺快的(当然对比 GoLand 慢那么点)
    79 条回复    2019-11-05 20:21:22 +08:00
    whoami9894
        1
    whoami9894  
    OP
       2019-09-14 15:37:10 +08:00   1
    原来因为觉得 VS 太重,一直有点抗拒大型 IDE,现在发现自己就像刚从乡下进城的土包子,这玩意也太好用了吧
    hkitdog
        2
    hkitdog  
       2019-09-14 15:50:35 +08:00 via iPhone
    那里可以拿到免费的 edu 邮箱?
    donething
        3
    donething  
       2019-09-14 15:55:57 +08:00   1
    @hkitdog 学生
    Cbdy
        4
    Cbdy  
       2019-09-14 15:59:47 +08:00 via Android
    出于 vscode 性能不行,我也开始用 idea 写 js 了
    longbye0
        5
    longbye0  
       2019-09-14 16:03:13 +08:00 via Android
    @hkitdog 给你个思路,美帝社区大学,能网上注册那种
    nannanziyu
        6
    nannanziyu   div class="badges">   2019-09-14 16:07:37 +08:00 via Android
    @whoami9894
    goland 对 cgo 支持为 0
    至于 5 分钟没出提示,肯定是你环境出问题了
    wsly47
        7
    wsly47  
       2019-09-14 16:07:52 +08:00
    没 edu 邮箱的话上传学生证也可以审核通过
    q8164305
        8
    q8164305  
       2019-09-14 16:07:58 +08:00 via Android
    最近感觉 vscode 越来越卡了,也果断换了
    OhYee
        9
    OhYee  
       2019-09-14 16:08:27 +08:00
    emmm 起码我这里 go 项目没啥问题,补全提示啥的都还行啊。试一下设置里打开那个 language server 吧(不过既然都用 goland 了就算了)
    大概只有我拿教育邮箱搞了 license,却连 jb 全家桶一个都没下过
    alexkkaa
        10
    alexkkaa  
       2019-09-14 16:12:01 +08:00 via Android
    vscode 是编辑器,idea 是 ide 不是一个级别的东西。这就跟非要用 vim 写 java 一样。
    gamexg
        11
    gamexg  
       2019-09-14 16:13:17 +08:00 via Android
    @hkitdog 开源软件维护者也有免费协议
    Srar
        12
    Srar  
       2019-09-14 16:22:12 +08:00   5
    在环境变量里设置 http_proxy https_proxy 代理就可以了 这锅 vscode 不背
    rrfeng
        13
    rrfeng  
       2019-09-14 16:52:53 +08:00 via Android
    一直用,很好的
    shingle
        14
    shingle  
       2019-09-14 17:13:48 +08:00 via Android
    我最近也切到 goland 了,之前一直用 vscode 写得好好的,尝试了 go mod 的工具链发现 vscode 对 go mod 支持的不是很好,也可能是我漏了什么配置
    PopeyeLau
        15
    PopeyeLau  
       2019-09-14 17:25:39 +08:00 via iPhone
    go mod 的项目就有这个问题。
    whoami9894
        16
    whoami9894  
    OP
       2019-09-14 18:55:30 +08:00 via Android
    @nannanziyu
    打开单个文件完全没问题,它不出是一直处于 loading 状态
    whoami9894
        17
    whoami9894  
    OP
       2019-09-14 18:56:33 +08:00 via Android
    @Srar 跟代理有啥关系,language server 不是跑在本地的吗
    whoami9894
        18
    whoami9894  
    OP
       2019-09-14 18:57:55 +08:00 via Android
    @OhYee
    看项目规模吧,十几个文件我这里也没问题。也可能是#15 提到的,对于 go mod 的导入支持有问题
    whoami9894
        19
    whoami9894  
    OP
       2019-09-14 18:58:36 +08:00 via Android
    @hkitdog
    我在读
    haihongblog
        20
    haihongblog  
       2019-09-14 19:02:29 +08:00
    goland 真香,主要快捷键习惯了根本回不去 vscode
    尝试配置过 vscode,发现没法做到 goland 这么智能

    本地常年开着 goland,服务器用 tmux + vim,暂时用不到 vscode
    gtlions
        21
    gtlions  
       2019-09-14 19:10:47 +08:00 via iPhone
    5 分钟不行的,绝对不是 vscode 的锅
    keyv
        22
    keyv  
       2019-09-14 19:11:17 +08:00 via iPhone
    Goland 确实很爽,只是 ideavim 的 Bug 相当多。。完全阻挡了我用 Goland 的脚步。
    gtlions
        23
    gtlions  
       2019-09-14 19:12:34 +08:00 via iPhone
    基于 grafana 的二次开发,文件数量没统计过,应该不少于几百个 go 文件,湿滑的狠
    heww
        24
    heww  
       2019-09-14 19:27:40 +08:00
    @whoami9894 是跑在本地,但它会分析 go.mod 文件然后去下载里面的 package。
    janxin
        25
    janxin  
       2019-09-14 19:27:55 +08:00
    gopls 前天新发布了 0.1.5 版本,除了修 bug 还有一个新功能是性能提升
    icexin
        26
    icexin  
       2019-09-14 19:33:30 +08:00
    可能是项目的依赖没有下载完,先用 go mod download 预先下载 module cache 会好些。
    neverfall
        27
    neverfall  
       2019-09-14 19:47:18 +08:00
    一直是 idea + go plugin
    reus
        28
    reus  
       2019-09-14 19:53:01 +08:00
    五分钟极有可能是网络问题
    imnaive
        29
    imnaive  
       2019-09-14 19:57:02 +08:00
    vscode 的 Go 插件还没发正式版,还是 0.11.4,等微软发了正式版的插件,应该很少会出现这种影响开发者体验的 BUG
    xnotepad
        30
    xnotepad  
       2019-09-14 20:10:37 +08:00
    gocode 对 go.mod 支持不好,而 gopls 则还是开发阶段,目前 vscode 好像用于 go 开发是不怎么好用。
    troywinter
        31
    troywinter  
       2019-09-14 20:12:04 +08:00
    你的环境有问题,重新配一下,我一个 monorepo 几万个 go 文件都没问题,目前用着还是很满意的
    justfortest
        32
    justfortest  
       2019-09-14 20:33:09 +08:00
    ide 大法好,编辑器真不好用。
    uucloud
        33
    uucloud  
       2019-09-14 20:51:04 +08:00
    开了 gomod 以后 vscode 巨卡,巨吃内存。。
    lepig
        34
    lepig  
       2019-09-14 21:31:18 +08:00
    还是 JB 全家桶 用起来 舒服
    zhuangzhuang1988
        35
    zhuangzhuang1988  
       2019-09-14 21:37:14 +08:00
    毕竟商业的, 敢卖钱的不是吃素的。
    dodo2012
        36
    dodo2012  
       2019-09-14 21:54:44 +08:00
    vscode 自从 go 用了 mod 后,提示垃圾的一比,动不动就不自动补全了,只能说 gopls 太垃圾
    whoami9894
        37
    whoami9894  
    OP
       2019-09-14 23:26:08 +08:00 via Android
    @icexin
    @gtlions
    依赖下了的,已经编译过了。可能五分钟有点夸张的成分吧。。。
    whoami9894
        38
    whoami9894  
    OP
       2019-09-14 23:27:39 +08:00 via Android
    @janxin
    待会试下,我的还是 v0.1.3
    skiy
        39
    skiy  
       2019-09-14 23:30:43 +08:00 via Android
    idea + go +php 足够了。如果 android 配置不麻烦的话,我都不想用 as 了
    whoami9894
        40
    whoami9894  
    OP
       2019-09-14 23:32:14 +08:00 via Android
    @gtlions
    @troywinter
    感觉 go mod 和 gopath 的补全速度差距很明显,我重配环境再试验一下
    youyaang
        41
    youyaang  
       2019-09-14 23:41:38 +08:00
    加载不出来+1。。。还吃了我 1G 多内存
    OhYee
        42
    OhYee  
       2019-09-14 23:50:38 +08:00
    @whoami9894 go mod 的化貌似要打开 language server 后,确保 go.mod 文件在项目根目录下
    然后……如果有问题 f1,Go: restart language server。反正文件一变化这个服务就概率性抽风
    这么想一下这个插件确实问题很多……不过我一般重启下 language server 就好了
    OhYee
        43
    OhYee  
       2019-09-14 23:51:46 +08:00
    @dodo2012 不补全直接反手一个 Go: restart language server 就行了(不过这玩意经常性抽风)
    dodo2012
        44
    dodo2012  
       2019-09-15 01:06:18 +08:00
    @OhYee 就是太烦了,动不动就没用了,以前还是很好用的,感觉自从用上 mod 后就开始坑了
    Sapp
        45
    Sapp  
       2019-09-15 01:18:16 +08:00   1
    @Cbdy 我转向了 vscode,原因也是感觉 vscode 不行,我现在有十几个项目,都在一个文件夹里(因为有互相依赖没提取),可能有数十万行代码,全都是 ts 写的,导致现在快则半个小时,慢则几个小时就要重启一次,不然 ts 提示就会出问题,半天加载不起来,然后换了 webstorm,刚换的时候很难受,webstorm 总体感觉就是慢吞吞的,没有 vscode 那么轻快,而且设置和操作都偏向复杂,没有 vscode 简洁,但是好处显而易见,代码提示相当快而且准确,并且可以很久都不出问题,而且对于代码检查做的也比 vscode 强,没用过的函数以及重复函数都会显示出来,还自带代码优化功能,总的来说感觉换的值得。
    lucahan
        46
    lucahan  
       2019-09-15 07:46:54 +08:00 via Android
    vscode 感觉已经变成了一种 zz 正确。无论干啥都推荐 vscode,我用了几次都没法入手。还是用 webstorm 和 idea 最舒服。
    xuanbg
        47
    xuanbg  
       2019-09-15 08:11:42 +08:00
    VS Code 用来写 JS 代码还是很溜的,写点别的代码也可以,但总归没有正经的 IDE 好用。
    kzfile
        48
    kzfile  
       2019-09-15 08:17:44 +08:00
    我同同时写 node,python 和 go,所以 java 也用 vscode 写了
    liuminghao233
        49
    liuminghao233  
       2019-09-15 09:15:35 +08:00 via iPhone
    你不会用就别说不好用
    mokeyjay
        50
    mokeyjay  
       2019-09-15 09:51:05 +08:00
    我永远喜欢 JB 全家桶
    Ehco1996
        51
    Ehco1996  
       2019-09-15 10:16:15 +08:00
    @OhYee 我用 language server 疯狂 crash....关了之后反而好点

    也下了 golang 的用一下,但是不喜欢他的快捷键,就还是会 vscode 了
    OhYee
        52
    OhYee  
       2019-09-15 10:22:44 +08:00
    @Ehco1996 不用 language server 的话,貌似不支持 go mod。如果不需要 go mod 的话关掉确实稳定好多
    poplar50
        53
    poplar50  
       2019-09-15 10:28:59 +08:00 via Android
    @haihongblog 求科普 goland 智能在哪里
    wee911
        54
    wee911  
       2019-09-15 12:07:10 +08:00
    vs 占用内存硬盘都不比 idea 少,唯一好处启动快,你要启动快为什么不用 sublime
    yixinlove
        55
    yixinlove  
       2019-09-15 12:08:02 +08:00
    我之前也是用 VSCode,不过因为公司项目微服务化,很多项目,使用 VSCode 的 language server 总是需要很大内存,后面实在是忍无可忍,改用 GoLand 之后,真香。
    patx
        56
    patx  
       2019-09-15 12:14:02 +08:00
    vscode 远程开发 js,爽的一批。之前都试过 goland, vscode 写过 golang,感觉都有点问题。
    jingniao
        57
    jingniao  
       2019-09-15 13:29:26 +08:00 via Android
    8 月底之前 gopls go.mod 项目是有很大问题,跳转补全经常失效,再往前还有经常 gopls 崩溃。
    9 月初的几次更新后,感觉主要问题解决了,不过还需要继续观察
    jingniao
        58
    jingniao  
       2019-09-15 13:31:49 +08:00 via Android
    8 月底之前 gopls 是 v0.13
    到 v0.15 前几天更新的,感觉还不错
    Cbdy
        59
    Cbdy  
       2019-09-15 14:58:04 +08:00 via Android
    @Sapp 我用下来同等配置下 macos 下 jetbrains 家的 ide 不卡,Windows 下要卡一些
    scnace
        60
    scnace  
       2019-09-15 17:03:01 +08:00 via Android
    gopls 确实 open issue 很多, 但是五分钟没出来的可以打开一下 gopls 的 debug 模式。。。(不过 gopls 遇到大段代码有语法错误时,确实体验不好,还很容易把 CPU 跑满),不过技术栈工具总会有发展过渡阶段的,觉得不爽可以转 GoLand 或者自己给社区贡献 issue/PR (感觉 GoLand 迟早也要走 gopls 的
    ourleven
        61
    ourleven  
       2019-09-15 17:37:33 +08:00 via iPhone
    早就转战 sublime

    单例内存 50M,特别牛逼
    haihongblog
        62
    haihongblog  
       2019-09-15 18:12:19 +08:00
    @poplar50 举个我遇到的例子,找函数定义和使用,在 goland 快捷键都是 command + b (我是这样的)。
    如果在函数定义处,则直接下拉显示所有调用,只有一处调用则直接跳转
    如果在函数使用处,则直接跳转到函数定义,在按下同上
    ===
    而在 vscode,peek def 和 ref 需要分开设置快捷键,每次我还得想一下这里应该是 peek def 还是 peek ref,然后按不同按键,感觉很累啊
    TangMonk
        63
    TangMonk  
       2019-09-15 20:57:51 +08:00
    vscode 的处境实在尴尬,不如 jetbrain 智能,又没有 sublime 丝滑流畅
    reus
        64
    reus  
       2019-09-15 21:15:10 +08:00
    neovim + coc + gopls 完全没有问题
    pink123
        65
    pink123  
       2019-09-15 21:48:25 +08:00
    vim 真香,从来都是 vim 写代码
    aB47qeql
        66
    aB47qeql  
       2019-09-15 21:50:55 +08:00
    我也一样受不了 VS Code 了
    用 NvMe 的 SSD 打开 VS Code 都需要 2~3s
    而 Sublime Text3 秒开
    willm
        67
    willm  
       2019-09-16 07:24:42 +08:00 via Android
    对于非高清屏来说,jetbrains 全家桶的字体渲染太垃圾,和 vscode 差距过于明显
    wsseo
        68
    wsseo  
       2019-09-16 08:28:48 +08:00
    楼主用的什么系统?
    darknoll
        69
    darknoll  
       2019-09-16 08:37:27 +08:00
    vscode 只能写写脚本语言,其他玩不转的
    xinyu391
        70
    xinyu391  
       2019-09-16 09:25:05 +08:00
    Lite IDE 路过
    cxsz
        71
    cxsz  
       2019-09-16 09:25:53 +08:00
    edu 邮箱真香
    silkriver
        72
    silkriver  
       2019-09-16 10:05:42 +08:00
    VSCode 要比也是和 Atom、Notepad++来比,你一商业版的 IDE 也下来和 VSCode 比不觉得丢份么
    alexmy
        73
    alexmy  
       2019-09-16 10:27:53 +08:00
    前端和 go 都在同一个 git 项目下,就改用 vscode 了,现在机子上一个 idea 系列都没有了。
    LokiSharp
        74
    LokiSharp  
       2019-09-16 10:30:35 +08:00
    VScode 太吃资源,一般电脑用不起。。。换了开发专用的电脑我就一步到位了。。。其实也就多加根内存的事情
    emmmlucky
        75
    emmmlucky  
       2019-09-16 16:00:23 +08:00
    楼上问 edu 邮箱的,马云为你解忧
    Hellert
        76
    Hellert  
       2019-09-20 13:43:50 +08:00
    今天升级最新 vscode-go 插件后,如果 gopls 有新版本,会提示更新的,应该会解决大部分人的问题。
    reus
        77
    reus  
       2019-09-21 19:49:55 +08:00
    @silkriver go 语言恰恰不一样,很多 IDE 才有的功能,都用库或者程序提供的,编辑器一样可以集成进去。例如这里说的 gopls 程序,功能不比 IDE 的差。
    AceDogs
        78
    AceDogs  
       2019-11-05 10:43:11 +08:00
    这个怎么说呢,这个其实是 gopls 的锅, go mod 刚出来不久, gopls 支持的不太好, 效果只能等等了,
    Goland 无敌, 看喜好用, 开箱就爽的话直接用 Goland.
    szzhiyang
        79
    szzhiyang  
       2019-11-05 20:21:22 +08:00 via iPhone
    随着 gopls 的进步,Visual Studio Code 总有一天会比 GoLand 更香的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     943 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 19:37 PVG 03:37 LAX 12:37 JFK 15:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86