用 vscode 开发 go,有点劝退

34 天前
 nativeBoy
目前团队从 Java 转 go ,考虑到 goland 花钱且臃肿,就开始使用 vscode 来学习 go

得益于 go 的模块机制,配合 Code Runner 插件,学习过程中,运行没什么太大问题

但是项目代码一接过来,就有问题,项目需要在 linux 环境下才能编译成功,因此要搞远程开发,但 vscode 的远程开发的代码会在 linux 端,但我提交代码需要公司指定的 VPN ( linux 上基本不可用),因此陷入了死局。

反观 goland ,运行配置可以设置在远端进行编译、运行,但代码在本地,完全不需要自己操心(当然 goland 也是把代码复制一份过去再编译,但不需要自己麻烦了)。以及 IDEA 系的 git 视图确实美观,自己可能要买 goland 了

我也研究了 vscode 的运行配置,不太能用,还是放弃了
5607 次点击
所在节点    Visual Studio Code
58 条回复
shawngao
34 天前
VSCode 不解释
david98
34 天前
vscode 和 goland 都在用。
vscode 远程开发很好用,你这种场景 用 wsl2 最好(配合 goland ),如果运行有问题(主要 wsl2 相当于一个容器环境),本地用 hyper-v 弄个虚拟机,直接本地开发本地提交。单论远程开发的支持 个人觉得 goland 支持地不如 vscode 。
goland 要是拿来开发 cgo ,c 代码根本没法跳转 简直要吐。vscode 在方面强不是一两个档次。
如果拿来开发 rust ,混合 c 代码,配置 lldb ,简直不要太好用。jetbrains 全家桶这方面那就更差劲了。因为后端用的不是 lldb
sophos
34 天前
虽然我有 jetbrains 的免费 license ,但我还是用 vscode :-)
远程开发体验秒杀其他 IDE
GoodAfternoon
34 天前
除了 java 用 IDEA ,其他全部 vscode 。
cqu1980
34 天前
golang 是可以交叉编译的吧?我没记错的话,可以在 windows 下编译 exe ,也可以编译 linux 的可执行程序,同理 linux 也一样的
yb2313
34 天前
wsl2, 启动
cqu1980
34 天前
windows 下面写个 bat
set GOOS=linux
go build -ldflags "-s -w"

就可以直接编译成 linux 的了,上传到服务器,chmod 777 编译好的文件名就行了
wwulfric
34 天前
怎么设置在远端编译和运行的,我的 python 项目也想这么搞
cqu1980
34 天前
@cqu1980 或者用
go env -w GOOS=linux
go build -ldflags "-s -w"
用 cmd 命令直接编译,linux 下面一样
go env -w GOOS=windows
go build -ldflags "-s -w"
直接就可以编译出 exe 了
gouflv
34 天前
我比较好奇的是你这个团队,是怎么推进语言转换的
以至于这种环境问题在内部都没法消化
jheroy
33 天前
远程开发直接用 vim/neovim ,git 界面用 lazygit ,都是纯终端程序
chrosing
33 天前
@EndlessMemory 有些插件如果是破解版就无法使用,所以就入了个人版本的
dyllen
33 天前
我是开了个 Ubuntu 虚拟机,设置了共享主机代码文件夹到虚拟机,直接可以互相读写。
nativeBoy
33 天前
@winglight2016 @loolac @lsk569937453 @james122333 @smirkcat @yb2313
尝试了 wsl2 了,发现和主机共享网络和 hosts ,可以解决我的问题,感谢
nativeBoy
33 天前
@wwulfric pycharm 里面有运行配置,在里面可以选择远端服务器,ssh 连过去
@gouflv 刚转 go 不久,部门没做过 go ,项目代码都是第三方厂商给的,各种坑,目前还在研究代码
@jheroy 纯终端还是门槛高
@Vegetable 确实是走宿主机的网络的,目前已经在用了
RockShake
33 天前
环境配置标准化也是 DevOps 的重要组成部分
GooMS
33 天前
你这个问题和 ide 关系不大,是工具链拉胯了
Ipsum
33 天前
所以收费的比免费的好用。另外个人用户买 goland 其实还算能接受也就 800 。

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

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

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

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

© 2021 V2EX