告别虚拟机!WSL + VS Code 打造最优雅的 Linux 实验环境¶
前言:为什么你需要这篇文章?¶
刚开始做操作系统或网络编程实验时,你是否也有过这样的崩溃时刻:
为了跑一个简单的 Hello World,不得不下载几个 G 的 VMware 和 Ubuntu 镜像;每次打开虚拟机,笔记本风扇就开始狂转,电脑卡成 PPT;最要命的是,想把 Windows 里的代码复制进去,还得折腾半天“共享文件夹”……
其实,现在的 Windows 早就进化了。
微软官方推出的 WSL (Windows Subsystem for Linux),彻底改变了这一切。它让我们可以在 Windows 里像打开记事本一样秒开 Linux,配合 VS Code,体验简直“起飞”。
这篇文章就是为了拯救你的笔记本风扇而写的。不需要重装系统,不需要复杂的配置,跟着我,十分钟搞定最现代化的 Linux 开发环境。
WSL 的全称是 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统)。
用最通俗的话来说:它是一个官方“外挂”,让你的 Windows 电脑可以直接运行 Linux 系统,而不需要安装笨重的虚拟机(如 VMware)或重装双系统。
1. WSL 是干什么用的?¶
以前,如果老师让你用 Linux,你通常有两个痛苦的选择: * 方案 A(虚拟机):下载 VMware 或 VirtualBox,再下载几 GB 的 Ubuntu 镜像,安装半天。每次做实验都要打开虚拟机,电脑瞬间变卡,风扇狂转。 * 方案 B(双系统):把电脑硬盘切一块出来装 Linux。每次做实验要重启电脑切换系统,如果不小心还容易把 Windows 搞坏。
WSL 的出现就是为了解决这个问题:
它就像是你在 Windows 里打开的一个普通软件窗口(黑框终端),但里面运行的是真正的 Linux 系统(比如 Ubuntu)。你可以直接在里面敲 Linux 命令(如 gcc, ls, ps),且几乎不占用额外的电脑资源,秒开秒关。
2. 为什么推荐用 WSL?¶
- 轻量级,不卡机: 它不用模拟整个硬件,所以内存占用极低。你一边开着微信、浏览器查资料,一边在 WSL 里跑代码,电脑依然流畅。
- 文件互通:
这是最爽的一点。你在 Windows 下写好的代码(比如在 D 盘),在 WSL 里可以直接访问(比如
/mnt/d/)。- 场景:你可以继续用你熟悉的 Windows 版 VS Code 写代码,写完后,直接在 VS Code 下方的终端(切换到 WSL)里输入
gcc main.c编译运行。完全不需要在两个系统之间复制粘贴文件。
- 场景:你可以继续用你熟悉的 Windows 版 VS Code 写代码,写完后,直接在 VS Code 下方的终端(切换到 WSL)里输入
3. 如何拥有 WSL?¶
如果你的电脑是 Windows 10(版本 2004 及以上)或 Windows 11,安装极其简单:
- 右键点击 Windows 开始菜单,选择 “终端管理员” (Windows Terminal / PowerShell Admin)。
- 输入以下命令并回车:
- 等待下载:系统会自动下载并安装默认的 Linux 发行版(通常是 Ubuntu)。
- 重启电脑:重启后,会自动弹出一个黑框,让你设置一个 Linux 的用户名和密码。
搞定! 以后你只需要在开始菜单里搜 "Ubuntu",打开就是 Linux 环境了。
如果你不想折腾庞大的 VMware,强烈建议试试 WSL。
“VS Code + WSL” 的模式¶
这是目前全球程序员最主流的开发方式,下面是保姆级教程,分三步走:
第一步:安装必备插件¶
- 打开 VS Code。
- 点击左侧最下面的 “扩展”图标(四个方块组成的那个,快捷键
Ctrl+Shift+X)。 - 在搜索框搜 WSL,安装微软官方的 WSL 插件(全名通常是 WSL 或 Remote - WSL)。
- 再搜 C/C++,安装微软官方的 C/C++ 插件(全名 C/C++ Extension Pack)。
第二步:连接到 WSL 环境¶
这是最关键的一步,把你的 VS Code “搬”进 Linux 里去。
- 打开你的 WSL 终端(就是之前那个 Ubuntu 黑框)。
- 在黑框里输入命令: 注意:code 后面有个空格,然后有个点。
- 回车。
- 第一次运行它会下载一点东西,稍等片刻。
- 神奇的事情发生了:Windows 会自动弹出一个新的 VS Code 窗口。
- 看这个新窗口的左下角,如果显示 绿色 的
WSL: Ubuntu,恭喜你!你现在的 VS Code 虽然画在 Windows 上,但它的“芯”已经是在 Linux 里了。
第三步:安装编译器 (GCC)¶
虽然你有编辑器了,但 Linux 刚装好通常是“裸机”,没有 C 语言编译器(GCC),我们需要装一下。
- 在刚才那个连上了 WSL 的 VS Code 中,按
Ctrl + ~(波浪号键)打开下方的终端。 - 你会看到终端提示符是
username@hostname(Linux 风格)。 -
复制粘贴下面这两行命令(需要输入你设置的 Linux 密码,输入时看不见,盲输完回车):
* 解释:build-essential包含了 gcc 编译器和 make 工具,gdb是调试器。
第四步:写代码并运行 (实战演练)¶
现在环境搭好了,我们来跑一下你刚才的实验代码:
- 新建文件:在 VS Code 左侧资源管理器,右键 -> New File -> 命名为
main.c。 - 粘贴代码:把上一条回答里的实验代码复制进去,保存 (
Ctrl+S)。 - 编译运行:
- 看下方的终端窗口。
- 输入编译命令: (如果没有报错,说明编译成功)
- 输入运行命令:
常见的问题解答¶
重启后没有找到Ubuntu?¶
这种情况很常见,别急。这通常是因为 wsl --install 命令帮你打开了 Windows 的 底层开关(WSL 功能),但因为网络问题或者步骤卡顿,没有成功帮你下载 Ubuntu 软件本身。
这就好比你买了个游戏机(WSL环境),但是游戏卡带(Ubuntu系统)还没插进去。
请按照下面这个最稳妥的方法手动“插卡带”:
方法一:通过微软应用商店手动安装(最推荐,成功率最高)¶
- 在电脑下方任务栏找到并打开 Microsoft Store (微软应用商店) 图标(或者在开始菜单搜 "Store")。
- 在商店顶部的搜索栏输入:Ubuntu。
- 你会看到好几个结果,选那个就叫 "Ubuntu" 的(或者 "Ubuntu 22.04.xx LTS"),图标是橙红色的圈圈。
- 点击右边的 “获取” 或 “安装” 按钮。
- 注意:这可能会下载几百 MB 的数据,看你网速快慢。
- 下载完成后,那个按钮会变成 “打开”。点击它!
- 这时候黑框就会出来了,然后显示
Installing, this may take a few minutes...。
方法二:强制用命令行安装(如果你不想开商店)¶
如果商店打不开,你可以试着再次以管理员身份打开 PowerShell(终端),然后输入这条更精确的指令:
- 这条命令的意思是:“WSL,请专门给我安装 Ubuntu 发行版”。
- 如果不报错,它会显示下载进度条。
如何确认我已经装好了?¶
当你做完上面任意一步,并且那个黑框让你输入用户名(username)和密码(password)之后,你的 Linux 就彻底装好了。
以后你想用的时候:
* 方式 1:在开始菜单搜 "Ubuntu" 打开。
* 方式 2:在 VS Code 的终端里,或者 PowerShell 里,输入 wsl 然后回车,你会发现命令行前面的提示符变成了 yourname@hostname:,这就说明你已经进入 Linux 里面了。