作为程序员你是如何搭建自己的 windows 开发环境的?

195 天前
 daguaochengtang
作为程序员,如果你拿到一个新的 windows 笔记本,你会如何搭建自己的开发环境(其实不局限于开发环境,包括日常的其它工作和使用场景)?

主要是我过段时间有个新的 windows 本,想提前想好需要注意的点,我目前考虑的几个点,v 友们可以帮忙解答和补充其它的点:

1. 硬盘是否有必要分区?分区和不分区各有什么注意点?(比如我现在的电脑就没分区,但是会把 desktop 、download 文件夹等这些移动到其它盘。比如会把所有快捷方式放在一个文件夹然后放进环境变量里,通过 win+r 直接打开)
2. 考虑减少重复配置的成本,用 docker 来配置大部分的环境的可行性怎么样?比如 git,node,nginx 等都跑在一个 docker 里,本机不装这些环境,会不会有性能问题?有没有谁这样实践过的
3. windows 下你们会用包管理器嘛?用的什么?
4. windows terminal 怎么配置? wsl 你们平常会用吗(一直不懂 wsl 的使用场景,你们会直接在 wsl 上开发、写代码嘛)?
5. 。。。
5336 次点击
所在节点    Windows
58 条回复
zhumengyang
194 天前
1 全装 d 盘
2 个人电脑会装 docker
3 git-fork
4 公司电脑 phpstudy ,个人电脑配置了 wsl2
mmdsun
194 天前
Dev Drive 开发驱动器
WSL2 LINUX 版本 docker
VSCODE 远程开发
xiaoguai945yeah
194 天前
作为科研相关人员(属于自学吊车尾程序员吧……)硬答一下:
1. 没必要分区,除非双系统。您说的 Desktop,Download 这些移动过去也可以,我都是直接把 Desktop/Documents 指到 OneDrive 下的目录,然后 Download 只用来下载/保存临时文件,哪天心血来潮/系统提醒了,就全删掉都行。快捷方式这个操作挺好,学到了(我用 Listary/PowerToys 也都能启动软件,用惯了)
2. 没用过
3.不太用,每次都官网下载,默认安装到 C 盘,但给爸妈电脑装了个 wingetUI (以后会改名叫 UnigetUI ),让他们尽量在那里装软件(也防不住继续用 360 软件管家……)
4. 给 terminal/powershell 换个好看的字体(例如 Inziu IosevkaCC Slab SC )。wsl 之前做前端的时候用过,配合 VSCode 用挺无感的,现在也不用了,换新电脑都没再开启过……

曾经事无巨细地写了 win+linux 双系统安装和配置的步骤到 OneNote 里,但后来发现根本懒得打开照着操作,而且当时 win10 各种设置的方法和位置,在现在的 win11 也都过时了……需求也会跟着变,对电脑的认知已经从“我的电子朋友”变成了“我的工作的一部分”,有时间更想花在休息、兴趣、陪家人上。
esee
194 天前
1 、分区啊,系统一个盘,文件和程序一个盘,够用了。主要是平时养成区分好工作文件的习惯,这样重装系统的时候不至于还得去费劲去定位需要迁移的文件。
2 、win 上现在就一个 vscode 、笔记文件、和一个终端管理,开发环境都在另外的 ubuntu 服务器上。远程开发,本地的 win 环境基本不用动,换个电脑也能同步工作进度,比如打开的文件夹,打开的哪个文件。等等。
boxy123
194 天前
如果只有一个盘,又不分区的话,那之后重装系统要做数据备份
WuLiSenSen
194 天前
程序员不都是用 macos 吗
CodeAllen
194 天前
1.分 CD 盘足够了,我在 D 盘开了一个共享目录,方便 smb 挂在到 HyperV 虚拟机中,而且一堆 git 项目我也放在 D 盘,集中管理,我默认不显示桌面图标,运行程序直接 win+关键字基本秒开,公司的文档记录什么的用 OneDrive 同步,定期打包备份,根本不担心电脑突然坏;
2.docker 我安装在 HyperV 的 ubuntu 虚拟机上,主要是固定版本的编译环境,Go 、Java 、NodeJS 程序直接就安装了,这个没啥版本问题,也可能是我没那么大的需求;
3.PowerShell 里面装软件?没用过,有点难用;
4.只要是 Linux 环境需求,首先去 wsl ,wsl 如果不行,再换 HyperV 里面的正经 Ubuntu 发行版,goland 都支持连接 wsl 进行开发;
5.目前上班主要是 win 笔记本远程 NUC 主机使用,win 笔记本主要登录企业微信、微信等,开发主要环境在 NUC 主机上,而且都安装了 zerotier ,在外可以连上 NUC 主机直接用,公司虽然有 VPN ,但是并不能知道 NUC 主机的 IP 是多少,VPN 登录没法用 mDNS 有网段隔离只能连确定的 IP ,市面上的各种远控不放心。
workingpad2
193 天前
VSCode + WSL, Tabby
artiga033
193 天前
1. ssd 完全不需要分区,不过我会单独拉一个 ReFS 的开发卷专门用来放各种编译工具链的缓存以及代码。

2. 见 4

3. winget 和 scoop ,不过严格来讲 winget 不算是包管理器

4. 配色文件,Nerd 字体,然后一些常用快捷键,还有 profile 可以直接指定为任意指令,比如 ssh 到某个设备,还是很方便的。
非微软生态(C#,msvc 之类)的开发我现在完全放到 wsl 里了,~~i use arch btw~~,想要什么数据库、redis 、mq 之类的直接 docker 起一个,甚至 windows 端也能访问到。对于 golang 之类的优先面向 linux 的语言在 Windows 上搞也是折磨自己。而且很多很重的开发环境直接 wsl --shutdown 之后 Windows 就可以进入游戏模式了,在 Windows 上做开发总感觉有后台清不干净,一般直接重启。
另外 wsl 和 Windows 的互操作性比 vm 强多了,比如你可以直接在 wsl 里复用 Windows 端的 ssh 、git 配置,甚至是用 wsl 的 git 调用 Windows 的 gpg 签名,反之亦然。以及还有 wslg 临时用一下 linux 下独占的 gui 软件也挺好的。
而且我的显卡是 intel 的 arc a770 ,这玩意跑机器学习的各种软件包在 linux 下都是比 Windows 既新又快。
另外使用 wsl 还能用 btrfs 等新型文件系统,透明压缩真的是救了 rust 和 node 开发者的命
tooyoungtoo
193 天前
windows terminal+zsh+wsl+vscode remote 。
git nginx 和 docker 这些全部装 wsl 里面,windows 上面都不装。
jones2000
193 天前
专职前端开发( c++/js). 无后台开发需求。
就 2 个盘,c: 盘 250G , 其他给 D 盘。

开发工具
VSCode, vs2013 , vs2022, CMake ,git, svn, 各种小程序开发工具
调试工具
windbg, fiddler, Wireshark, Microsoft Network Monitor. 手机模拟器
浏览器
chrome ,Edge, Firefox
数据备份
OneDrive

笔记本 2 年一换,新本子 2 年内坏的概率比较小。
ByteCat
193 天前
包管理器 scoop ,然后安 WSL2 ,完事
ryanlid
193 天前
不分区,所有软件用默认配置一键安装,不折腾。空间不够的话加个机械硬盘,存视频和一些大的文件

vscode ,Jetbrains 连 wsl ,创建多个 wsl 也能环境隔离
catamaran
193 天前
是我用 windows 太久了吗?区和盘啥区别?除开物理设备不说,就操作系统层面,楼主说不分区,但是又把 download 移到其他盘,这是啥操作? windows 上说 c 盘,一般是指 disk 1 上面的 partition 1 ,这个区,我理解就是盘吧?
NotAProgrammer
193 天前
@dobelee #8 老哥能具体说一下嘛
smdbh
193 天前
看你工作行业。我是除了 office 和 ide ,基本都是绿色软件,d:\program 直接复制就能用。个别需要双击 reg ,添加进右键一次。
Chuckle
193 天前
固态没必要分盘,按文件夹分就行,装环境的、软件的各种文件夹,all in vscode ,配合 wsl ,也有人喜欢把数据库、环境都装 docker 里,我是习惯本地装,工具集合用 utools ,主打一个操作越少越好。还有固态+硬盘盒+Ventoy 搞的多系统已经吃灰了,VMware 也吃灰但也得装好。所有软件的快捷键都扔桌面,用 Coodesker 分类保存。
joey9696
32 天前
@dobelee goland 访问 wsl 的文件不会卡吗,我看我项目稍微大一点,检索索引的时候就很慢了

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

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

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

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

© 2021 V2EX