必须在wsl终端中执行code .才能启用remote-wsl;右下角显示“wsl: ubuntu”为生效标志,项目应置于wsl原生路径(如~/projects)而非/mnt/c/,否则权限、inotify、git等均异常。

Remote-WSL插件装了但读不到Linux文件?先看右下角有没有WSL标识
VSCode 装了 Remote-WSL 插件,不代表它就在 WSL 里运行。最直接的判断依据是窗口右下角是否显示 WSL: Ubuntu(或你实际发行版名)。没这个标识,说明 VSCode 仍运行在 Windows 上下文,所有终端、调试器、Git 都走 Windows 路径,自然读不到 Linux 文件系统里的内容。
常见错误操作包括:
- 在 Windows 文件资源管理器中双击打开项目,路径是
/mnt/c/Users/xxx/project - 按
Ctrl+O打开文件夹,手动选到/mnt/c/...目录 - 在 PowerShell/CMD 中执行
code .(这只会启动 Windows 版 VSCode)
必须用 code . 在 WSL 终端里启动,不是在 Windows 里
code . 命令只有在 WSL 的 Bash/Zsh 里执行,才会触发 Remote-WSL 启动服务并把前端连过去。Windows 下的 code 是另一个二进制,它不带 WSL server 逻辑。
实操步骤:
- 打开 Windows 终端 → 启动你的 WSL 发行版(如
wsl -d Ubuntu-22.04) - 进入项目目录:
cd ~/projects/myapp(注意:不是/mnt/c/...) - 运行:
code . - 若提示
command not found: code,说明 VSCode 没把脚本注入 WSL PATH,执行:echo 'export PATH="$PATH:/mnt/c/Users/YourName/AppData/Local/Programs/Microsoft VS Code/bin"' >> ~/.bashrc && source ~/.bashrc(路径按你本地安装位置调整)
项目放 /mnt/c/ 下会导致文件权限和 inotify 失效
放在 /mnt/c/ 下的项目,VSCode 看似能打开、编辑,但底层是 DrvFs 挂载,不支持符号链接、inotify 事件、标准 Unix 权限位。Git 报 unable to create file: Permission denied、Python 虚拟环境创建失败、Node.js npm install 卡住,基本都源于此。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
正确做法:
- 所有开发工作(git clone、pip install、npm install、调试)都在 WSL 原生路径下进行,例如:
~/projects/myapp - 从 Windows 访问这些文件时,用资源管理器地址栏输入:
\wsl$Ubuntu-22.04homeusernameprojects,不要反向操作 - 已误在
/mnt/c/下操作过?删掉整个目录,重新在 WSL 里git clone
终端还是 PowerShell?手动切 profile 并设为默认
即使进了 WSL 上下文,新打开的终端仍可能默认是 PowerShell。这不是插件问题,而是 VSCode 终端 profile 配置未更新。
解决方法:
- 按
Ctrl+Shift+`打开终端 - 点右上角
+旁的下拉箭头,选择bash或zsh(取决于你 WSL 默认 shell) - 再按
Ctrl+Shift+P,输入Terminal: Select Default Profile,选对应 WSL 的 profile - 确认当前终端提示符是
user@hostname:~$,而不是PS C:>
如果终端 profile 列表里没有 WSL 选项,说明 Remote-WSL 没激活成功,先检查 wsl -l -v 是否为 Running 状态,再重试 Remote-WSL: New Window。










