2. Windows 环境准备:打好地基才能盖高楼
说实话,Windows 做开发环境,十年前那真是让人头疼。但现在不一样了,微软自己都在拥抱开源,Windows 10/11 的开发体验已经相当丝滑。这一章,我就带你一步步把 Windows 调教成顺手的开发机。
核心目标:让 Windows 具备 Linux 般的包管理能力和终端体验,为后续跨平台编译扫清障碍。
2.1 开发者模式:Windows 的隐藏开关
很多人装完系统就直接开干,结果遇到各种权限问题。我刚开始也踩过这个坑——明明装了工具,系统就是不让用。后来才发现,原来是开发者模式没开。
开发者模式说白了,就是告诉 Windows:「我是开发者,别拿普通用户的规则限制我」。开启后,系统会放宽一些安全策略,比如允许 sideload 应用、支持符号链接、开启 SSH 服务器等。
开启步骤:
- 打开「设置」→「更新和安全」→「开发者选项」
- 选择「开发人员模式」
- 系统会提示需要重启,确认即可
我的小技巧:开启后顺便把「设备门户」和「设备发现」也打开。这两个功能在调试移动端或 IoT 项目时特别有用,我曾在一次嵌入式项目中靠它远程抓日志,省了不少跑腿时间。
2.2 PowerShell 与 Windows Terminal:告别黑底白字的原始时代
Windows 自带的 cmd 有多难用,不用我多说吧?字体难看、复制粘贴反人类、不支持多标签……我当年写批处理脚本时,每次调试都像在跟系统打架。
现在好了,Windows Terminal 就是微软给开发者的一剂良药。它支持多标签、GPU 加速渲染、自定义主题,还能同时打开 PowerShell、CMD、WSL 甚至 Azure Cloud Shell。
安装 Windows Terminal:
- 方法一:Microsoft Store 搜索「Windows Terminal」直接安装
- 方法二:winget install Microsoft.WindowsTerminal(后面会讲 winget)
PowerShell 配置要点:
我个人习惯把 PowerShell 7+ 作为默认 shell。为什么?因为它跨平台、支持并行管道、有更好的对象处理能力。你在 Linux 上写的脚本,拿过来基本能直接跑。
# 查看当前 PowerShell 版本
$PSVersionTable.PSVersion
# 设置执行策略(允许本地脚本运行)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 安装 PSReadLine(增强命令行编辑体验)
Install-Module PSReadLine -Force
注意:执行策略一定要设成 RemoteSigned,别设成 Unrestricted。我曾经图省事设了 Unrestricted,结果不小心跑了一个网上下载的恶意脚本,系统差点崩了。安全这根弦,什么时候都不能松。
Windows Terminal 配置小贴士:
打开设置(Ctrl+,),你可以用 JSON 文件精细控制每个 shell 的行为。我一般会做这几件事:
- 把默认 shell 改成 PowerShell 7
- 设置字体为 Cascadia Code(支持连字,看着舒服)
- 开启 acrylic 背景效果(半透明,能看见背后的窗口)
2.3 包管理器:Chocolatey 与 winget
你想想看,在 Linux 上装软件一个 apt install 就搞定,Windows 却要打开浏览器、搜索、下载、双击安装、下一步下一步……烦不烦?
包管理器就是来解决这个问题的。Windows 现在有两个主流选择:老牌的 Chocolatey 和微软亲生的 winget。
2.3.1 Chocolatey:老当益壮
Chocolatey 我用了快五年了。它最大的优势是软件库极其丰富,几乎你能想到的 Windows 软件都能找到。而且它支持自动安装依赖,比如你装 Git,它会自动把需要的 VC++ 运行库一并装上。
安装 Chocolatey:
# 以管理员身份打开 PowerShell,执行:
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
常用命令:
| 命令 | 说明 | 示例 |
|---|---|---|
| choco install | 安装软件 | choco install git -y |
| choco upgrade | 升级软件 | choco upgrade all |
| choco list | 列出已安装 | choco list --local-only |
| choco uninstall | 卸载软件 | choco uninstall nodejs |
避坑指南:我曾经用 choco install python 装 Python,结果装完发现是 32 位版本。后来才知道要加参数 --x86 或 --x64 来指定架构。所以装之前最好先查一下:choco info python
2.3.2 winget:微软官方出品
winget 是 Windows 10 1809 之后自带的包管理器。它跟 Chocolatey 最大的区别是:winget 直接从官方源(比如 Microsoft Store 或软件官网)下载安装包,安全性更高。但软件库相对少一些。
检查 winget 是否已安装:
winget --version
如果没装,去 Microsoft Store 安装「应用安装程序」即可。
常用命令:
| 命令 | 说明 | 示例 |
|---|---|---|
| winget search | 搜索软件 | winget search vscode |
| winget install | 安装软件 | winget install Microsoft.VisualStudioCode |
| winget upgrade | 升级软件 | winget upgrade --all |
| winget list | 列出已安装 | winget list |
我的建议:两个包管理器可以配合使用。Chocolatey 用来装那些 winget 没有的软件(比如一些老旧工具),winget 用来装主流软件。我现在的做法是:先搜 winget,没有再用 choco。
2.4 本章知识体系
下面这张图帮你理清 Windows 环境准备的核心脉络:
2.5 实战:一键安装开发工具
理论说完了,咱们来点实际的。下面这个脚本,是我每次重装系统后必跑的。它用 Chocolatey 一键安装常用开发工具:
# 以管理员身份运行
# 安装基础工具
choco install git -y
choco install vscode -y
choco install nodejs-lts -y
choco install python -y
choco install cmake -y
choco install make -y
# 安装终端增强
choco install windows-terminal -y
choco install cascadia-code -y
# 安装 Docker(跨平台编译必备)
choco install docker-desktop -y
echo "环境准备完成!重启一下终端吧。"
重要提醒:安装 Docker Desktop 需要 BIOS 中开启虚拟化(VT-x/AMD-V)。我遇到过好几次学员说装不上 Docker,结果一查是 BIOS 里没开虚拟化。进 BIOS 的方法各品牌不一样,一般是开机按 F2 或 Del。
嗯,到这里 Windows 环境就准备得差不多了。你可能会问:「为什么不用 WSL?」别急,WSL 是跨平台编译的大杀器,我会在后面的章节专门讲。先把基础打牢,后面才能跑得快。