Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)

Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)

在 Windows 系统中开发 C 语言或使用 Linux API 时,传统虚拟机存在启动慢、资源占用高的问题。而 WSL(Windows Subsystem for Linux)通过操作系统级虚拟化,让我们无需虚拟机即可运行完整 Linux 环境,搭配 VSCode 后能实现高效开发。本文将详细介绍 WSL2 的安装、配置及 VSCode 链接步骤,全程实操可落地。

一、WSL 核心介绍

1.1 什么是 WSL? 

       WSL(Windows Subsystem for Linux)是微软推出的 Windows 系统 Linux 子系统技术,无需单独安装 Linux 系统或依赖虚拟机,即可在 Windows 中直接运行完整的 Linux 环境。它支持原生 Linux 命令行工具、软件包管理器(如 apt)及各类 Linux 应用程序,实现了 Windows 与 Linux 文件系统的无缝集成,极大消除了两大系统的开发隔阂,尤其适合需要在 Windows 平台使用 Linux 工具的开发者。

1.2 WSL2 相比传统虚拟机的优势

相比于传统虚拟机,WSL2 有以下核心优势:

  • 资源占用更轻:启动时占用内存更少,不会过度消耗电脑性能;
  • 启动速度更快:无需等待虚拟机完整启动,秒级进入 Linux 环境;
  • 文件 IO 性能更强:文件密集型操作(如 git 克隆、npm 安装、apt 更新 / 升级)速度显著提升;
  • 系统调用更全:提供完全的 Linux 系统调用兼容性,支持更多 Linux 原生应用;
  • 管理更便捷:无需单独维护虚拟机镜像,与 Windows 系统联动更灵活。

1.3 官方参考文档

微软官方详细文档:https://docs.microsoft.com/zh-cn/windows/wsl/

二、WSL2 安装步骤

2.1 启用 Windows 必备功能

  1. 打开「开始菜单」,点击「应用与程序」;
  2. 滚动到页面底部,点击「程序与功能」;
  3. 点击左侧「启用或关闭 Windows 功能」;
  4. 在弹出的窗口中,勾选「虚拟机平台」和「适用于 Linux 的 Windows 子系统」两个选项(如图所示),点击「确定」。

2.2 重启电脑

配置完成后必须重启电脑,确保上述功能生效,否则后续安装可能失败。

2.3 安装 WSL 并初始化

  1. 管理员身份打开命令提示符(CMD)或运行(WIN 键 + R)输入cmd
  2. 首次启动会自动安装 Ubuntu,等待几分钟后,需要设置 Linux 用户名和密码:
    • 输入自定义 UNIX 用户名(无需与 Windows 用户名一致);
    • 输入密码(输入时不显示明文,正常输入即可);
    • 再次确认密码,提示passwd: password updated successfully即为设置成功。

出现Installation successful!提示后,Ubuntu 已启动成功,可通过sudo <命令>执行管理员操作。

输入安装命令

wsl --install # 网络良好时使用,默认安装Ubuntu # 若下载速度慢,使用以下命令通过网络下载安装 wsl --install --web-download

2.4 验证 WSL 运行状态

  1. 可通过 Windows PowerShell 启动 WSL(快捷键Ctrl+Shift+6直接打开 Ubuntu,需提前配置 PowerShell);

输入以下命令验证 WSL 是否正常运行:

wsl --list --verbose # 查看已安装的WSL分发版及状态

若显示 Ubuntu 及运行状态,则说明安装成功。

也可以通过powershell查看,启动。

三、VSCode 配置 WSL 开发环境

3.1 安装必备扩展插件

打开 VSCode,在扩展商店(左侧边栏图标)搜索并安装以下插件(C 语言 / Linux API 开发专用):

  1. C/C++(Microsoft 官方插件):提供 C/C++ 语法高亮、智能提示、调试功能;
  2. WSL(Microsoft 官方插件):实现 VSCode 与 WSL 的无缝链接,支持在 WSL 中打开文件夹;
  3. 可选插件:
    • C/C++ Themes:优化 C/C++ 代码的 UI 主题;
    • Chinese (Simplified) Language Pack:VSCode 中文界面支持。

3.2 VSCode 链接 WSL

  1. 打开 VSCode,使用快捷键Ctrl+Shift+P调出命令面板;

链接成功后,VSCode 底部状态栏会显示WSL: Ubuntu标识(如图所示)。

输入WSL: Connect to WSL,选择已安装的 Ubuntu 分发版;

3.3 在 WSL 中打开文件 / 项目

  1. 若需使用 Windows 中的项目:
    • 直接将 Windows 项目文件夹复制到 WSL 目录(如/home/用户名/下);

或通过命令行在 WSL 中访问 Windows 磁盘(路径格式:/mnt/c/Windows/对应 C 盘,/mnt/d/对应 D 盘)。

选择 WSL 中的目标文件夹(如/home/用户名/项目名),即可在 VSCode 中编辑 WSL 内的文件;

快捷键Ctrl+Shift+P调出命令面板,输入WSL: Open Folder in WSL

四、总结

通过以上步骤,已完成 WSL2 的安装及 VSCode 的开发环境配置。现在可以在 Windows 系统中直接使用 Linux 命令行工具,借助 VSCode 的强大功能进行 C 语言编程和 Linux API 开发,既保留了 Windows 的易用性,又拥有了 Linux 的开发环境,大幅提升开发效率。

若遇到安装失败、链接异常等问题,可参考微软官方文档或在评论区留言交流~

Read more

易语言子程序高级应用:递归、回调与参数设计实战

易语言子程序高级应用:递归、回调与参数设计实战

易语言子程序高级应用:递归、回调与参数设计实战 一、学习目标与重点 💡学习目标:1. 深入理解易语言子程序的递归调用机制与实现条件;2. 掌握参数传递的高级形式(引用传递、数组参数、自定义数据类型参数);3. 学会使用回调函数实现程序模块间的解耦;4. 初步了解多线程环境下的子程序调用(线程同步基础);5. 通过真实案例(递归计算斐波那契数列、文件目录遍历、员工薪资计算系统的模块解耦)巩固所学知识。 ⚠️学习重点:递归的退出条件设置、栈溢出风险规避、引用传递与值传递的区别、数组/UDT参数的类型声明、回调函数的指针实现方法、线程同步的临界区使用。 二、递归调用机制与实现 2.1 递归的基本概念与实现条件 2.1.1 递归的基本概念 递归调用是指子程序直接或间接调用自身的过程,常用于解决具有重复子问题的问题(如计算阶乘、斐波那契数列、遍历文件目录、二叉树操作等)。 2.1.2

By Ne0inhk
Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合 * 引言:从虚拟偶像情感计算到语言智能的 “显微镜” 革命 * 正文:从理论架构到工业落地的全链条创新 * 一、NLP 领域的 “数据贫困” 困境与破局逻辑 * 1.1 少样本场景的核心挑战 * 1.2 Java 大数据的 “三维穿透” 技术架构 * 二、工业级融合模型的技术实现与代码解析 * 2.1 预训练模型迁移优化(BERT 医疗领域深度微调) * 2.2 原型网络(Prototypical Network)少样本分类 * 三、实战案例:从医疗语义分析到跨境电商智能客服 * 3.1 医疗场景:罕见病实体识别的 “样本逆袭” * 3.2 跨境电商:阿拉伯语商品类目分类的

By Ne0inhk
95%的Java团队都在用的代码格式化自动化技巧:为什么你还在手动调整?

95%的Java团队都在用的代码格式化自动化技巧:为什么你还在手动调整?

🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不孤单🚀 🔥即刻启航,编程之旅更有趣🚀 代码一致性问题的"深渊"与"阶梯" 1. 代码一致性问题的本质:从"混乱"到"一致"的跨越 在Java开发的世界里,代码一致性不是简单的格式统一,而是团队协作的基础。 就像你让团队成员用不同的语言写同一份报告,结果必然混乱。 但问题是:代码一致性问题的"一致"比你想的复杂得多。 传统方式: * 依赖开发者的个人习惯 * 代码风格因人而异 * 代码审查成本高 自动化方式: * 统一代码风格 * 减少代码审查时间 * 提高团队协作效率 这不是升级,这是从&

By Ne0inhk
Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构

Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” Spring Boot 4.0 + JDK 25 + GraalVM:下一代云原生Java应用架构 摘要 随着云原生架构的快速演进,传统Java应用面临的“启动慢、内存高、体积大”三座大山亟待解决。

By Ne0inhk