VS Code 原生支持直接连接 WSL,需在已启动的 WSL 终端中执行 code . 打开项目,自动启用 Remote - WSL;若误开 Windows 版本则路径显示 /mnt/c/... 且左下角无 WSL 标识,应关闭所有窗口后重试。

VS Code 直接连接 WSL 不需要额外配置 SSH,官方已原生支持——关键在于用对启动方式和确保 WSL 发行版处于运行状态。
用 code 命令从 WSL 终端打开 VS Code
这是最稳定、最推荐的方式。VS Code 会自动识别当前 WSL 环境并启用 Remote - WSL 扩展(如未安装会提示)。
- 在 WSL 终端中执行:
code .(打开当前目录)或code /home/username/project(指定路径) - 首次运行会自动下载并安装 VS Code Server 到 WSL 的
~/.vscode-server - 必须确保 WSL 已启动:若执行
code报错WSL distribution not found,先在 PowerShell 运行wsl -l -v确认发行版状态,再用wsl -d Ubuntu(替换为你实际发行版名)手动启动 - 不要在 Windows CMD/PowerShell 中运行
code .,那样打开的是 Windows 版本,无法访问 WSL 文件系统
远程窗口里文件路径显示为 /mnt/c/... 而不是 /home/...
这是典型“误开 Windows 版 VS Code”的表现:你看到的其实是 Windows 文件系统映射,而非 WSL 原生路径。
- 检查左下角状态栏:如果显示
WSL: Ubuntu(或你的发行版名),说明连接成功;若显示Windows或无 WSL 标识,则当前是本地模式 - 关闭所有 VS Code 窗口,**务必在 WSL 终端内重新执行
code .** - 避免双击 Windows 资源管理器里的文件夹打开 VS Code——这永远走 Windows 路径
- VS Code 设置中禁用
remote.WSL.autoStart可能导致连接失败,保持默认true即可
扩展在 WSL 里不生效或提示“已安装但不可用”
Remote - WSL 模式下,扩展需明确标记为“支持远程”且安装到 WSL 环境,而非 Windows 主体。
- 在 Remote - WSL 窗口中打开扩展面板(
Ctrl+Shift+X),顶部会显示Extensions for WSL: Ubuntu - 搜索并安装扩展时,留意右上角是否出现
Install on WSL: Ubuntu按钮;若只看到Install,说明该扩展不支持远程或尚未适配 - C/C++、Python、Prettier 等主流扩展均支持,但部分依赖 Windows GUI 或注册表的扩展(如某些主题预设、PowerShell 集成)会灰显不可用
- 如需调试 Python,确保在 WSL 中已安装
python3和pip3,并在 VS Code 设置中将python.defaultInterpreterPath设为/usr/bin/python3
真正容易被忽略的点是:WSL2 默认启用 systemd 支持(Windows 11 22H2+ + WSLg),但多数开发场景并不需要;若你手动启用了 systemd=true 却没配置好,反而会导致 code 启动超时或卡死——保持默认不启用即可。










