团队博客

Windows 开发环境搭建

Seven Du  2026-02-28T00:00:00.000Z

开篇

我的 Windows 经验大约还是停留在 Windows XP 的时代。后来短暂试过 Windows Vista,但那时的机器硬件太差,跑不动,因而也没怎么用。再后来,就主要是用 Mac 和 Linux。

我们团队的开发人员大部分还是用 Windows,我们很多客户也使用 Windows 开发环境。最近,因为要研究一个项目,搞了两台 Windows,搭建了一下开发环境,把过程简单记录一下,或许对大家有用。

说实话,现在的 Windows 已经比以前好用多了,至少再不用装那些本身就像是病毒的杀毒软件。WSL 也让 Windows 如虎添翼。

WSL

拿到 Windows,第一要装的是 WSL。现在的版本是 WSL2。我的两台机器都是 Windows11,一个专业版,一个家庭版。

打开一个命令行端口,输入 wsl 命令,就提示你再按任意键就可以安装 WSL 了,默认就是 WSL2。比以前安装要简单不少。根据网络情况,有时非常快,有时也会很慢。

安装完 WSL 后,家庭版好像需要重启,专业版好像不需要。总之,后面就可以使用 WSL 了。

再次打开终端窗口,输入 wsl --install Debian,就会安装 Debian。安装过程中,会提示创建一个普通用户,我起了个名字叫 seven,这是 Linux 中的用户名。

安装完 Debian,再次输入 wsl命令,就进入 Debian 环境里面了,非常方便。

Linux 会将 Windows C 盘映射到 /mnt/c,我的 Windows 用户名叫 PC,因此,通过 /mnt/c/Users/PC 就可以访问到我的 Windows C 盘了。

在 Windows 上,也可以直接在文件系统中直接访问 Linux 中的文件,如,我从侧边栏中可以直接打开 Linux/Debian

Linux 中的文件是区分大小写的,也支持各种权限(rwx)等,而 Windows 中的文件系统则不支持这些。在开发时,有些软件对文件系统有要求,如 PostgreSQL,要求文件系统有相应的用户权限,所以,PostgreSQL 的数据要放到 Linux 中(如 /home/seven,或 /usr/local/pg ...,但不要放到 /mnt/c/)。

不过反过来,如果软件对文件系统没有要求,则放到 /mnt/c 还是比较方便的,因为这样比较方便直接在 Windows 中访问文件,如直接使用 VS Code 打开之类的。我一般会建立两个work文件夹:

  • C:\Users\PC\work:映射到 Linux 中是 /mnt/c/Users/PC/work
  • /home/seven/work:在 WSL(Linux)中的目录。

如果在 Windows 上要打开 Linux 中的文件系统,特殊是在命令行上或 VS Code 中,还是比较麻烦的。在 PowerShell 中,可以通过 \\wsl$\debian 这样的路径来访问(如 ls \\wsl$\debian),但在经典的 CMD 窗口中好像不行。如果使用 VS Code 的话,VS Code 有专门的 WSL 插件,以便访问 WSL 中的文件系统、调试程序等。我还没有试。

在 Debian 中安装软件

Debian 熟悉的 Linux。下面,安装 Git 和 OpenSSH。

sudo apt update
sudo apt install git openssh-server

安装 OpenSSH 后,主要是可以从其他机器访问。

SSH 客户端

Windows 和 Linux 中都有 SSH 客户端,使用非常访问。都可以使用 ssh-keygen 创建 SSH Key。Windows 会放到 C:\Users\PC\.ssh,Linux 会放到 ~/.ssh。把生成的 Key Copy 到对应的位置就好了,两者可以使用相同的 Key。只是在 Linux 中对权限比较敏感,如 chmod 600 ~/.ssh/id_rsa,否则权限太宽 SSH 会拒绝使用这样的 Key,认为不安全。

在 Windows 上安装软件

Windows11 自带 Winget,安装软件像 Linux 上一样方便,比如安装 Git,只需要在命令行上执行:

winget install Microsoft.Git

安装 Visual Studio

Windows 上编译软件需要用到 Visual Studio,直接从官网下载即可:https://visualstudio.microsoft.com/zh-hans/downloads/。我安装的版本是:Visual Studio 2026。它会先下载一个安装器,然后再安装再大的 Visual Studio。由于我需要使用 C 开发,在安装时选了【工作负荷】→【桌面应用和移动应用】→【使用 C++的桌面开发】。这需要下载数个 G 的安装包,占用 10G+的空间。在安装前,详细信息中可以更精细的选择要安装哪些组件,也可以在【单一组件】中单独安装相应的组件。不过我对这些不熟悉,就都安装了。

安装完成后,会出现 “x64 Native Tools Command Prompt for VS” 和 “Developer Command Prompt for VS”这样的快捷方式,直接在任务栏上搜索就能打开。这些环境会设置 Visual Studio 相关的一些环境变量。在 Windows 上编译程序时一般应该从这里进。

网络和防火墙

WSL 使用 NAT 网络。从其他机器默认是不能访问的。如果要从局域网中其他机器访问,有两种办法:

  • 映射
  • 使用 mirror 方式的网络。

一般情况下,使用第一种就很好。但映射只支持 TCP,不支持 UDP。而 XSwitch 会用到很多 UDP 端口,所以,大多数情况一需要使用 mirror 方式。详见:Windows 网络模式

简单起见,有时我也会使用映射网络。

在 Linux 中使用 ip ad 或在 Windows 上使用 ipconfig 命令都能看到 WSL 的地址,我的是 172.23.111.175。下面,我做了一个端口映射(listenport为对外端口,也可以使用其他端口,如2222)。

netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=172.23.111.175

为了快速验证,你可以临时关闭 Windows Defender 防火墙。当然,关闭防火墙会带来安全风除。在不关闭防火墙的情况下,可以使用如下命令对部分端口打开防火墙:

netsh advfirewall firewall add rule name="WSL SSH" dir=in action=allow protocol=TCP localport=22

或在 PowerShell 中,使用如下命令打开防火墙:

New-NetFirewallRule -DisplayName "Allow SSH on port 22" -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

安全原因,以上三条命令都需要以管理员身份运行。

然后,在我的 macOS 上,可以使用如下方式连接:

ssh -p 2222 seven@192.168.3.198

其中的 IP 地址是我 Windows 的 IP(而不是 WSL 的,因为 WSL 地址对其他机器不可见)。

然后,我就可以愉快地使用 WLS 中的 Linux 了。

远程桌面

家庭版好像不支持远程桌面,而专业版是支持的。macOS 的 Apple Store 里有一个 Windows App,可以很方便的连接 Windows 的远程桌面,不过,Windows 上要在设置中打开远程桌面。

安装 Docker

参见: </installation/attachment/#docker> 。

虽然 Docker 官方的文档会提示在 Windows/WSL 中最好用 Docker Desktop,但我觉得直接在 WSL/Debian 中安装,与 Linux 体验更一致。而且,大公司使用 Docker Desktop 是有限制的,虽然我们不是大公司,但我们也会给大公司干活,也会受到同样的限制。

小结

有了 WSL 的 Windows 感觉还是挺好用的 ☺️。

SourceTree 的安装使用教程