快 2024 年, Go 语言下 vscode 对比 Goland 还有哪些劣势?

2023-12-23 20:23:34 +08:00
 hopingtop

我在 2018 年初用的 Goland ,之前用了一段时间 vscode (当然还有古老的 liteIDE ?就是一个太极图标那个)感觉要配置的东西还是比较多,而且 DEBUG 也不方便。今天在家里面迫于忘带公司的电脑( Goland 是公司内网授权),得看下代码,就配置了一下 vscode 发现,现在配置如此快捷,就是安装一个 Go 的插件,然后 install all 基本上就完成了。

目前就是 Go 插件 + Go struct tag

体验下来:
  1. 发现现在 Go 插件很强大了,目前对比下来好像没有缺少之处,是我 Goland 用的不深?
  2. Debug 功能目前也挺好用的,体验几乎一致,就是不太清楚稳定性怎么样?
  3. 我初体验 vscode 上的 Copilot 好想比 Goland 上面的好用一些,主要是感觉要丝滑一些,目前 Goland 总是会出现 Mem 的内容和 File 内容不一致的 弹框,很影响体验。还有就是一些 猜想弹框也挺适合的

因为本人之前用 Goland 主要是 编码+DEBUG 和极少的配置

但是现在感觉下来好想 vscode 都能做到?

你们觉得 Goland 在 Go 情况对比 vscode 还有哪些明显的优势?

大项目不卡?提示快?

但是。。vscode 一个免费+丰富插件 感觉优势好大,目前通过账号同步配置,多台设备迁移也比以前方便太多了!

想听听水友们的体验,如果没有明显的坑,我就有点想切换到 vscode 了! Goland 不便宜

6620 次点击
所在节点    Visual Studio Code
51 条回复
DI64QrUrruOAmKO7
2023-12-23 20:51:16 +08:00
补充一个 JSON to Go ,但我是冲着 monokai pro 和免费
heww
2023-12-23 21:09:23 +08:00
Go Group Imports, Go Struct Tag Autocomplete & Generator, SemanticDiff, Tooltitude for Go (GoLang), Go Mod Explorer, Koverage, Coverage Gutters, Ginkgo Test Explorer
XCFOX
2023-12-23 21:19:16 +08:00
vs code 能无痛远程开发,本地连环境都不用装,Goland 不能
just1
2023-12-23 21:24:58 +08:00
vscode 能搜索标准库及所有引用的第三方 package 不( interface 的实现及普通文本搜索)
LonelinessA
364 天前
目前能感觉到 goland 的优势在于索引,之前有尝试过用 vscode 阅读一个框架源码,找着找着就莫名其妙找不到北了,然后用 goland 重新走了一遍,发现 vscode 少了几个引用索引
steveway
364 天前
@XCFOX vsc 的远程开发真的做的比 goland 好多了
dacapoday
364 天前
vscode 的 go 插件是 golang 团队亲自构建的,肯定比 goland 更懂 go ,劣势就是因为是免费的,容易被外行人士(比如 javaer)评价为不够专业。
thinkershare
364 天前
没想到有什么特别影响体验的地方,我现在除了.NET ,其它编程语言的代码统一都用 vscode 搞,all in one, 不同的编程语言用不同配置文件和插件,然后配合 Copilot, 感觉很好,实在有不舒服的地方,就自己用 ts 搞插件增强一下。主要还是 vscode 的远程工具实在太强大了,还在一直增强,我现在用它来显示 Linux 的远程 UI 图像。
AEnjoyable
364 天前
快速浏览一个 go 代码的话我选择 vsc ,毕竟轻量,不卡顿。但是要说编写我还是选择 goland ,习惯 goland 了 快捷键和高亮什么的。
当然,还有就是可能我这边 vsc 配置不太对吧,vsc 打开 go 的项目经常会报一些奇奇怪怪的 error 或者 warning (插件装了),但是能编译,goland 就没问题
专业性也确实吧,我觉得 goland 专业性确实更高
hopingtop
364 天前
@just1 #4 目前我简单了用了一下,interface 的实现和引用 索引还很不错,会在左边弹出一个边框让你看到所有
hopingtop
364 天前
还有一个感觉比较友好的,DEBUG 时 测试方法执行列表,vscode 可以在右侧,显示执行记录,这样我测试之前用过的方法会快捷一点。Goland 如果运行一个新 Test ,如果之前的是退出状态,就会覆盖掉。。。。有时想看记录就真实蛋疼
kuanat
364 天前
我用 GoLand 非常少,印象里有几个方面比 VS Code 要好:

1. 自动补全更加“智能”,或者说排序、展示形式更人性化更符合预期
2. 重构支持 interface/implementation ,而 gopls 还在 symbol 层面
3. 代码跳转( navigation )更舒适
4. Debugger 更好用?
5. 自带 vim 键位比 VS Code 插件好用

这里面 1 是短时间 VS Code 追不上的,这个需要投入比较多的人工打磨,不是个技术问题。

第 2 点 gopls 是可以做功能支持的,但是需要 VS Code 插件端提供一套 UI 流程,确认哪些要改哪些保留,我个人觉得是无所谓的。第 3 点也差不多,VS Code 是个 editor ,UI/UX 是不如 IDE 的,但这一点说实话我觉得不影响,但是还是列出来了。第 4 点,我周围的人说 GoLand 好用,但我个人觉得是个习惯问题,现在来说 Delve 做得越来越好了。最后第 5 点,现在都用 VS Code 集成一个 neovim 实例,我觉得已经反杀了。

除了第 1 点,剩下的优势其实是源于插件功能受限于 VS Code 界面机制,不如 IDE 那么灵活。



我是 old school 派的,所以对 editor+plugin 的好感远大于 IDE 。自从 VS Code 出来,标准化了 LSP/DAP 之后,我的就开始 vim/VS Code 并用,原因是我可以花时间为开发用的语言做配置,但是很多时候要阅读那些我不写的语言的代码,VS Code 提供了很好的默认配置。再后来微软的 Remote 开发成熟了,我就彻底转向了 VS Code ,同时用 neovim 替代了 vim 。

GoLand 我自己在 2021 年前后短暂用过。个人观点是,在 2022 年之前,GoLand 优势还是比较明显的,但是 2022 年之后,GoLand 的优势只在细节层面了。技术层面无论是当下还是未来,可能都追不上 VS Code 了。

2021 这一年,VS Code Go 体验有了质的飞跃。一是实现了 Testing API ,二是和 Delve 合作支持了 DAP 。没有多长时间,又实现了 Testing/Benchmark 的可视化,DAP 也支持了远程 attach 。测试 Debug 成了真正可用的特性。

之后 2022 年都是些细节改善,比较大的功能就是 inlay hints 。到现在体验已经非常好了。
guanzhangzhang
364 天前
@XCFOX 我发现远程无法跳转代码,需要安装哪个插件吗
ic3z
364 天前
goland 要钱💰
dcoder
363 天前
作为后端,一直不了解你们成迷于远程开发是为啥.
正确不步骤不该是自己 local 调试好了,脚本 push/deploy 到 cluster 里所有的机器.
这样的话,即使调远程调试,也应该在远程的 *一个* server 机器上调试么? 类似你 local 的开发机.
真的要调试分布式程序,不该是打 log ,然后在 log service 上看么. stage, prod 都改如此搞.
所以你们远程调试的有点到底是啥?
Rehtt
363 天前
我现在是 nvim + gopls
herozzm
363 天前
vscode 和 专门写 go 的 goland 不是一个量级的,各个方面
CodeCodeStudy
363 天前
VSCode 的 Golang 的自动 import 很难用,有谁介绍一下吗
lrh3321
363 天前
@dcoder #15 远程开发当然是为了保证开发环境和运行环境尽量一致。你也不想,一次开发处处调试吧。另外,在本地把各种依赖都搭好或,mock 掉,不如直接用测试环境的现成资源。
hopingtop
363 天前
@kuanat #12 感谢你的用心回答! 我现在回过头来用,真的是感觉有了质的飞跃!接下来我会逐步迁移到 vscode ,后续又更多的体验也会总结更新!

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

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

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

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

© 2021 V2EX