如何使用 Windows 愉快的编程?

2022-05-16 22:07:43 +08:00
 willx12123

我是一个 Web 程序员,Go 、Ruby 、Node 、前端。一切与 Web 相关的我都做(除了 PHP 哈哈)。

同时我也是一个 Windows 的喜爱者。可问题是我用 Windows 的事件越来越少——因为我无法在 Windows 上愉快的使用本地环境进行愉快的编程。

像我刚刚所列出来的几项语言,对 Windows 都很不友好,大家都优先选择支持 Linux 和 Mac——甚至是 M1 的 arm 环境。

所以有用 Windows 写代码兄弟吗,能介绍一下在大家都首选支持 Mac 和 Linux 的情况下,你平时如何解决这些环境问题的吗?

8855 次点击
所在节点    程序员
81 条回复
FrankHB
2022-05-16 23:09:07 +08:00
@walpurgis WSL 不是这个原因而产生的,它的前身是意图在 Windows 上原生运行 Android app ,但因为种种原因黄了(很久之后 Win11 上 WOA 才被支持)。
反过来,用你的逻辑,也说不通为什么微软仍然花更大的力气支持 VS (不是 VSC )这种根本就是 Windows-only 的开发环境——注意是持续投入资源推动大量的功能性更新,而不仅仅是维持可用。
lance6716
2022-05-16 23:16:49 +08:00
wsl IO 性能太差,大项目根本没法忍
2NUT
2022-05-16 23:17:56 +08:00
remote ssh
ila
2022-05-16 23:23:26 +08:00
wsl 的比 wsl2 简单些。
本地写完了,还是要上 dev 机器。
EIJAM
2022-05-16 23:31:12 +08:00
黄鱼处理掉吧,或者装个 Linux 桌面发行版。等你折腾久了就发现还是换个系统比较简单。
HubOwO
2022-05-16 23:31:30 +08:00
@jsq2627 git 会很慢吧
agagega
2022-05-16 23:32:54 +08:00
IDEA 系对 WSL 的支持还行。RubyMine 支持通过 WSL 访问 rbenv ,run 命令啥的还有各种问题,毕竟 WSL 再怎么也没有 macOS/Linux 那么无缝,只能说将就用吧。
jsq2627
2022-05-16 23:45:30 +08:00
@HubOwO 我指的是 WSL2 ,把他当 vm 看待就好了,所有文件操作不要跨 vm 进行,仓库不要克隆在 /mnt 下面,性能杠杠的。还有很重要的一点,我在搭配 vscode remote extension 使用,因此基本不会产生跨系统文件 IO
willx12123
2022-05-17 00:21:40 +08:00
@walpurgis Bug 巨多,目前 JB 家我感觉比较好用的还是 Projector ,就是有点卡
dayeye2006199
2022-05-17 01:12:40 +08:00
WSL+IDE SSH 远程插件。

对环境有洁癖的就 vagrant 走 hyper-v 虚拟机,然后远程插件。

觉得这还不行的,那就买台台式机装 linux ,然后远程插件。

或者你可以用远端的 vscode ,例如 github codespace ,gitpod ,coder 这种环境。
dcsuibian
2022-05-17 01:19:58 +08:00
要底层 C 的,那跨平台性应该不太好弄。还是老老实实装个虚拟机或换台 mac 吧。

测试了下,windows 下最新版 hexo 安装启动都没啥问题。
nodejs 大部分的库应该都是跨平台的,只有很少部分不是:目前只记得有 node-sass 和 opencv ,因为下面是 C/C++。前者现在被跨平台的 dart-sass 淘汰了。
前端应该不用担心这个问题,毕竟用 windows 的开发者也很多。(甚至有可能是大多数)
ginakira
2022-05-17 01:20:33 +08:00
VirtualBox 开分离模式,关掉界面的窗口后台运行,Visual Studio Code Remote 写代码,Tabby 做终端模拟器 SSH 过去
shuimugan
2022-05-17 01:50:18 +08:00
可以用华硕的 ramdisk https://dlcdnets.asus.com/pub/ASUS/mb/14Utilities/ASUS_RAMDisk_V2.03.00_for_Windows_10_64-bit.zip

把内存分出来当硬盘,结合 WSL1 ,可以解决 IO 问题,它还会回写数据到硬盘,只要提交及时,就算蓝屏了,用 jetbrains 开发的话可以在 local history 找回来。
我笔记本分了 8G 内存跑代码,台式机分了 40G 内存放游戏,非常愉悦。
ColinChang
2022-05-17 02:05:43 +08:00
很多最新的插件用 windows 简直了。。。
最近碰到的:1. java-grpc 的 maven 插件,windows 版一直过不去 maven 检查
2. go-grpc 如楼主所说
3. go-ent&entimport 无法读取数据库
HubOwO
2022-05-17 07:56:52 +08:00
@jsq2627 原来这么回事,我试试
to2false
2022-05-17 08:36:19 +08:00
vscode remote ssh+虚拟机 /wsl2
yEhwG10ZJa83067x
2022-05-17 08:41:52 +08:00
我用的是 vagrant + virturlbox + debian + docker
IDE 和代码还是放在 win 环境下,用共享文件来操作 io 。
配置好后打包个 box ,在任何电脑安装开发环境很快的。
demoshengxw
2022-05-17 08:47:54 +08:00
我是 go 和 php 都搞,docker 自己写好编排文件。基本不区分平台,很方便
shabbyin
2022-05-17 08:52:11 +08:00
我是把 wsl2 当另一个操作系统来用了
独立的 ssh key 独立的 workspace 所有工作代码全部在 wsl2 路径中
目前没遇到什么太奇怪的问题 经常会出现 webstorm 报 git error code
taest
2022-05-17 08:59:21 +08:00
还好,我是 java

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

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

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

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

© 2021 V2EX