快 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 不便宜

6762 次点击
所在节点    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
2023-12-24 06:18:54 +08:00
目前能感觉到 goland 的优势在于索引,之前有尝试过用 vscode 阅读一个框架源码,找着找着就莫名其妙找不到北了,然后用 goland 重新走了一遍,发现 vscode 少了几个引用索引
steveway
2023-12-24 08:51:52 +08:00
@XCFOX vsc 的远程开发真的做的比 goland 好多了
dacapoday
2023-12-24 12:25:48 +08:00
vscode 的 go 插件是 golang 团队亲自构建的,肯定比 goland 更懂 go ,劣势就是因为是免费的,容易被外行人士(比如 javaer)评价为不够专业。
thinkershare
2023-12-24 13:10:19 +08:00
没想到有什么特别影响体验的地方,我现在除了.NET ,其它编程语言的代码统一都用 vscode 搞,all in one, 不同的编程语言用不同配置文件和插件,然后配合 Copilot, 感觉很好,实在有不舒服的地方,就自己用 ts 搞插件增强一下。主要还是 vscode 的远程工具实在太强大了,还在一直增强,我现在用它来显示 Linux 的远程 UI 图像。
AEnjoyable
2023-12-24 14:57:24 +08:00
快速浏览一个 go 代码的话我选择 vsc ,毕竟轻量,不卡顿。但是要说编写我还是选择 goland ,习惯 goland 了 快捷键和高亮什么的。
当然,还有就是可能我这边 vsc 配置不太对吧,vsc 打开 go 的项目经常会报一些奇奇怪怪的 error 或者 warning (插件装了),但是能编译,goland 就没问题
专业性也确实吧,我觉得 goland 专业性确实更高
hopingtop
2023-12-24 17:43:45 +08:00
@just1 #4 目前我简单了用了一下,interface 的实现和引用 索引还很不错,会在左边弹出一个边框让你看到所有
hopingtop
2023-12-24 17:45:51 +08:00
还有一个感觉比较友好的,DEBUG 时 测试方法执行列表,vscode 可以在右侧,显示执行记录,这样我测试之前用过的方法会快捷一点。Goland 如果运行一个新 Test ,如果之前的是退出状态,就会覆盖掉。。。。有时想看记录就真实蛋疼
kuanat
2023-12-24 21:43:09 +08:00
我用 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
2023-12-24 21:50:31 +08:00
@XCFOX 我发现远程无法跳转代码,需要安装哪个插件吗
ic3z
2023-12-24 22:42:52 +08:00
goland 要钱💰
dcoder
2023-12-25 05:51:07 +08:00
作为后端,一直不了解你们成迷于远程开发是为啥.
正确不步骤不该是自己 local 调试好了,脚本 push/deploy 到 cluster 里所有的机器.
这样的话,即使调远程调试,也应该在远程的 *一个* server 机器上调试么? 类似你 local 的开发机.
真的要调试分布式程序,不该是打 log ,然后在 log service 上看么. stage, prod 都改如此搞.
所以你们远程调试的有点到底是啥?
Rehtt
2023-12-25 08:22:32 +08:00
我现在是 nvim + gopls
herozzm
2023-12-25 09:03:12 +08:00
vscode 和 专门写 go 的 goland 不是一个量级的,各个方面
CodeCodeStudy
2023-12-25 09:22:33 +08:00
VSCode 的 Golang 的自动 import 很难用,有谁介绍一下吗
lrh3321
2023-12-25 09:35:46 +08:00
@dcoder #15 远程开发当然是为了保证开发环境和运行环境尽量一致。你也不想,一次开发处处调试吧。另外,在本地把各种依赖都搭好或,mock 掉,不如直接用测试环境的现成资源。
hopingtop
2023-12-25 09:40:18 +08:00
@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