VS Code WSL打开特定仓库二次启动卡在“Opening Remote...”求助
解决思路与排查方向
清理VS Code远程/本地缓存
- 清理WSL侧VS Code远程服务缓存:在Ubuntu终端执行
rm -rf ~/.vscode-server,该目录存储远程扩展、会话状态等数据,删除后会自动重新初始化 - 清理Windows侧VS Code缓存:
- 完全关闭VS Code,删除
%APPDATA%\Code\Cache和%APPDATA%\Code\CachedData目录 - 删除远程WSL连接的缓存条目:进入
%APPDATA%\Code\User\globalStorage\ms-vscode-remote.remote-wsl,找到对应问题仓库路径的缓存文件并删除
- 完全关闭VS Code,删除
排查路径权限与特性
- 检查WSL中问题仓库路径的权限:执行
ls -ld /path/to/your/repo,确保当前用户是目录所有者,权限设置为755左右(避免权限过低导致读取卡住) - 确认路径中是否包含特殊字符(如空格、非ASCII字符),即使仓库本身是官方仓库,父目录的特殊路径也可能触发异常
- 直接在WSL终端用
code /path/to/your/repo启动VS Code,排查是否是Windows侧启动流程导致的问题
禁用扩展排查冲突
- 关闭所有VS Code扩展(本地和远程侧),重新连接WSL并打开仓库,若恢复正常则逐个启用扩展,定位冲突的扩展(优先排查Git、远程开发类扩展)
检查WSL系统状态
- 重启WSL服务:在Windows管理员PowerShell执行
wsl --shutdown,等待几秒后重新启动Ubuntu,再尝试打开仓库 - 检查WSL磁盘空间:执行
df -h,确保WSL根目录及挂载的Windows路径有足够剩余空间 - 修复WSL文件系统:若怀疑磁盘错误,可先导出WSL镜像备份,再重新导入创建新的WSL实例测试
手动获取详细日志
- 在VS Code设置中搜索
remote.WSL.logLevel,设置为Trace,重新连接WSL并触发问题,在输出面板选择Remote - WSL标签查看详细日志,定位卡住的具体环节 - 查看WSL侧远程服务日志:进入
~/.vscode-server/data/logs目录,打开最新的日志文件查找异常信息
临时绕过方案
- 在WSL中给问题仓库创建软链接到新路径:
ln -s /path/to/bad/repo /path/to/new/repo,通过打开软链接路径的仓库绕过原路径的缓存/权限问题
内容的提问来源于stack exchange,提问作者Shoham Ben Shitrit
相关产品推荐
相关产品推荐

