VSCode 与 WSL 深度集成通过 Remote - WSL 扩展实现编辑器核心运行于 WSL2 中,支持本地文件、终端、调试及扩展全 Linux 环境体验,无需虚拟机或双系统,且自动处理端口转发与多发行版切换。

VSCode 与 WSL 的深度集成,让 Windows 用户能无缝使用 Linux 环境开发,无需虚拟机或双系统。关键在于利用 VSCode 的 Remote - WSL 扩展,把编辑器“运行在”WSL 里,而非 Windows 上——文件、终端、调试、扩展全部走 WSL 后端。
安装前提与基础配置
确保已启用 WSL2(非 WSL1),并安装至少一个发行版(如 Ubuntu)。VSCode 需为正式版(非 Insiders),且本地已安装 Remote - WSL 扩展(Microsoft 官方出品,自动推荐)。不需要手动配置 SSH 或启动 WSL 服务——扩展会自动检测并拉起 WSL 实例。
- 在 Windows 上直接打开 WSL 终端(如 wsl 命令),确认能正常进入默认发行版
- 在 WSL 中执行 code .(需已安装 VSCode Server)——首次运行会自动下载并部署服务端组件
- 若提示“command not found”,运行 sudo apt update && sudo apt install code(Ubuntu)或按发行版补全 code 命令链接
文件路径与工作区的自然映射
VSCode 在 WSL 模式下打开的文件,默认位于 /home/xxx/ 或 /mnt/c/Users/xxx/ 下。Windows 文件系统通过 /mnt/ 挂载(如 C 盘为 /mnt/c),可直接编辑,但建议优先将项目放在 WSL 本地路径(如 ~/projects/myapp),避免跨文件系统带来的性能损耗和权限问题。
- 用 Ctrl+Shift+P → “Remote-WSL: New Window” 新建纯 WSL 环境窗口
- 在 WSL 终端中进入项目目录后执行 code .,VSCode 自动以该路径为工作区根,并加载 WSL 中的设置(~/.vscode/settings.json)
- Windows 下双击 .code-workspace 文件时,若含 WSL 路径,会自动触发远程连接
扩展与调试的“真 Linux”体验
所有扩展(如 Python、C/C++、Docker)均在 WSL 中安装并运行。Python 解释器自动识别 /usr/bin/python3 或 ~/miniconda3/bin/python;调试器直接调用 gdb 或 lldb,断点命中、变量查看完全原生。
远航CMS(yhcms)是一套基于PHP+MYSQL为核心开发的专业营销型企业建站系统。是国内首家免费+开源自带分站系统的php内容管理系统。长期以来不断的完善、创新,远航CMS会为您带来全新的体验!产品十大优势:模板分离:模板程序分离,深度二次开发三网合一:电脑/手机/微信 多终端访问自定义广告:图片/文字/动画定时发布:SEO维护,无需人工值守多词生成:栏目关键词多方案生成SEO设置:自定义U
- 在 WSL 窗口中安装扩展时,VSCode 明确提示“Installing on WSL: Ubuntu”(或其他发行版名)
- 调试配置(.vscode/launch.json)中路径需写 WSL 格式,例如 "program": "${workspaceFolder}/build/app",而非 C:\\...\\app
- 终端默认为 WSL shell(bash/zsh),输入 which python 或 gcc --version 返回的是 WSL 中的路径和版本
进阶技巧:多发行版切换与端口转发
若装了多个 WSL 发行版(如 Ubuntu 和 Debian),可通过命令面板选择目标发行版:Remote-WSL: Reopen Folder in WSL Distibution…。端口转发也完全透明——在 WSL 中启动 Web 服务(如 python3 -m http.server 8000),VSCode 自动将 localhost:8000 映射到 Windows 浏览器,无需额外配置 firewall 或 netsh。
- 在 WSL 中运行 code --remote wsl+Debian 可直接打开指定发行版环境
- 端口转发状态可在 VSCode 底部状态栏点击“Ports”查看,支持手动添加或禁用转发
- 需要 GUI 应用(如 gedit)?安装 WSLg(Windows 11 自带)后,code --no-sandbox 可启用图形界面支持
基本上就这些。不是“连上远程服务器”,而是把 VSCode 的核心能力原生下沉到 WSL 内核里——编辑、终端、调试、扩展全部跑在 Linux 上,Windows 只负责显示和输入。不复杂但容易忽略的是:别在 Windows 文件系统(/mnt/c)里长期开发,性能和兼容性隐患不少。









