VSCode跨设备保存工作区状态后无法恢复,求解决方法
VSCode远程SSH工作区无法恢复打开的文件与布局
背景
日常使用多台本地设备(Local Windows、Local macOS)通过SSH连接同一台Remote Linux服务器,遇到工作区状态无法跨设备恢复的问题。
预期操作流程
- 上午在Local Windows上打开VSCode,通过SSH连接到Remote Linux,将
/www/wwwroot/dev.example.com/设为工作区根目录,打开FileA、FileB并设置两栏布局,编辑完成后通过File > Save Workspace As..将工作区保存到/www/wwwroot/.project1.code-workspace。 - 下午在Local macOS上打开VSCode,SSH连接到Remote Linux后,通过
File > Open Workspace from File..打开/www/wwwroot/.project1.code-workspace,期望恢复打开的FileA、FileB及两栏布局。
问题
打开工作区后,没有文件被打开,布局也未恢复。当前工作区文件内容仅包含文件夹信息:
{ "folders": [ {"path": "dev.example.com"} ] }
已做测试操作
- 将工作区文件保存到项目根目录,无效;
- 将工作区文件保存在Local Windows并共享到Local macOS,无效;
- 将工作区文件保存在Remote Linux,关闭VSCode后重新SSH打开,依旧无效。
原因与解决方法
核心原因
默认情况下,VSCode的.code-workspace文件仅记录工作区包含的文件夹结构,已打开的文件、编辑器布局这类会话状态,默认会保存在本地设备的VSCode配置目录,或远程服务器的VSCode Server会话缓存中,不会被写入工作区文件——这就是跨设备无法恢复状态的原因。
解决步骤
启用工作区状态保存的实验性功能
- 打开VSCode设置(快捷键
Ctrl+,/Cmd+,),搜索并确保workbench.enableExperiments已勾选; - 继续搜索
workspace.state,找到Workbench > Experimental: Workspace State选项并勾选; - 重新保存工作区文件,此时文件会新增
state字段,里面包含已打开文件、布局等状态信息。
- 打开VSCode设置(快捷键
确保路径一致性
- 工作区中使用相对路径(如你当前的
dev.example.com)即可,避免使用绝对路径,确保不同本地设备连接远程后,路径能正确解析。
- 工作区中使用相对路径(如你当前的
更新VSCode及插件
- 确保本地VSCode和Remote-SSH插件为最新版本,避免因版本兼容问题导致状态无法同步。
内容的提问来源于stack exchange,提问作者Philip
相关产品推荐
相关产品推荐

