VSCode连接WSL2子系统详细教程 - 在Windows中流畅开发Linux项目

浅晨吖_1425

浅晨吖_1425

2026-03-21

963人浏览

原创

vscode 可直接连接 wsl2,无需 ssh;需安装 remote - wsl 扩展,通过 ctrl+shift+p 运行 wsl: new window,再用 wsl$ 路径打开项目;code 命令需在 windows 端注册并重启 wsl2;须配置 utf-8 locale、禁用 autoguessencoding、避免使用 /mnt/c/ 路径开发。

vscode连接wsl2子系统详细教程 - 在windows中流畅开发linux项目

VSCode 能直接连上 WSL2,不需要额外装 SSH 服务,也不用改配置文件——只要 WSL2 已启动且 VSCode 是 Windows 版本(非 Web 版),点一下就能进。

怎么从 VSCode 打开 WSL2 的项目目录

不是靠“打开文件夹”选 /home/xxx 这种路径,WSL2 的文件系统在 Windows 下是挂载出来的,但直接访问容易出权限或换行符问题。正确做法是用 VSCode 内置的远程机制。

  • 确保已安装 Remote - WSL 扩展(微软官方,名字带“WSL”,别装错成“Remote SSH”)
  • 在 Windows 上启动 VSCode(不是从 WSL 里用 code 命令启动)
  • 按 Ctrl+Shift+P,输入 WSL: New Window,回车——这时新窗口左下角会显示 WSL: Ubuntu(或你装的发行版名)
  • 再用 File → Open Folder,路径栏里直接输入 \wsl$Ubuntuhomeyournameproject(Windows 路径格式),或者点左侧“Explorer”里的“WSL”项展开后找目录

为什么 code . 在 WSL2 终端里没反应或报错

这是最常卡住的地方:你在 WSL2 的 bash 里执行 code .,结果提示“command not found”或弹出 Windows 版 VSCode 但不加载当前目录。根本原因是 code 命令没被正确注册到 WSL2 的 PATH。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 首次使用前必须在 Windows 端 VSCode 中执行一次 Command Palette → Shell Command: Install 'code' command in PATH
  • 执行完后重启 WSL2:wsl --shutdown,再重新打开终端
  • 检查是否生效:which code 应该返回 /usr/bin/code;如果还是找不到,说明 WSL2 没读到 Windows 注册的 shell wrapper,可手动加一行到 ~/.bashrc:export PATH="$PATH:/mnt/c/Users/xxx/AppData/Local/Programs/Microsoft VS Code/bin"(路径按你实际安装位置调整)

编辑器里中文乱码、Git 提交日志显示异常

WSL2 默认 locale 是 C 或 POSIX,没有 UTF-8 支持,VSCode 后台调用的 Git、Python、Shell 工具全会出问题,比如 git log 显示 中文 这种八进制编码。

  • 在 WSL2 里编辑 /etc/wsl.conf(如不存在就新建),加入:
[boot]
command = "sudo /usr/bin/locale-gen en_US.UTF-8 zh_CN.UTF-8"
<p>[user]
default = yourusername</p><p>[automount]
enabled = true
options = "metadata,uid=1000,gid=1000,umask=022,fmask=111"</p>
  • 然后 wsl --shutdown,重启终端,再运行 locale -a | grep utf8 确认有 zh_CN.utf8
  • VSCode 设置里关掉 files.autoGuessEncoding,强制设为 utf8,避免某些文件误判编码
  • 调试 Python/Node.js 时断点不命中、终端输出不刷新

    本质是 WSL2 的文件系统跨层同步延迟 + VSCode 调试器对符号路径解析不准。尤其当你在 Windows 文件资源管理器里改了代码,再切回 VSCode 调试,经常断点灰掉或跳过。

    • 所有开发工作务必在 \wsl$ 挂载路径下进行,**不要**把项目放在 /mnt/c/xxx(即 Windows 盘映射路径)——那里是通过 drvfs 驱动访问的,inode 和权限模拟不完整
    • Python 调试时,在 launch.json 里显式指定 "justMyCode": true 和 "console": "integratedTerminal",避免调试器混淆路径
    • Node.js 项目用 nvm 安装的版本,确保 which node 返回的是 WSL2 内部路径(如 /home/xxx/.nvm/versions/node/v18.18.2/bin/node),而不是 /mnt/c/ 下的 Windows 版本

    真正麻烦的不是连不上,而是连上了却用得别扭——比如 Git 提交用中文写日志,结果日志在 VSCode 的 Source Control 面板里显示为空白方块;又比如改完一个 Python 文件,print() 输出还卡在旧值,其实是调试器缓存了旧字节码。这些都不是配置漏了,是 WSL2 和 VSCode 在路径、编码、进程生命周期上咬合得不够紧。

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    vscode windows子系统

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    json数据格式
    json数据格式

    JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

    2023.08.07

    2115

    5

    json是什么
    json是什么

    JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.23

    3182

    1

    jquery怎么操作json
    jquery怎么操作json

    操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

    2023.10.13

    1076

    3

    go语言处理json数据方法
    go语言处理json数据方法

    本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

    2025.09.10

    3619

    7

    python中print函数的用法
    python中print函数的用法

    python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

    2023.09.27

    2820

    5

    python print用法与作用
    python print用法与作用

    本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

    2026.02.03

    249

    24

    js正则表达式
    js正则表达式

    php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

    2023.06.20

    4276

    8

    js获取当前时间
    js获取当前时间

    JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    2023.07.28

    1315

    5

    js 字符串转数组
    js 字符串转数组

    js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.03

    1718

    5

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程