VSCode工作区打开编辑器、扩展禁用等信息存储位置咨询
VSCode工作区会话信息存储位置及迁移解决方案
问题背景
已知导入文件夹等基础工作区设置存在my-workspace.code-workspace文件中,Python解释器等配置存在项目根目录的.vscode/settings.json里,但打开的编辑器状态、工作区专属禁用扩展列表这类信息不在上述文件中。
将*.code-workspace文件从~/目录移到其他文件夹后,重新打开工作区时,之前打开的编辑器全部消失、导入的文件夹(用相对路径)也丢失;但把文件移回原位置后一切恢复正常,说明这类信息和工作区文件的绝对路径绑定,需要找到其存储位置并实现备份。
存储位置
VSCode将这类工作区会话相关的状态信息,存储在以下系统路径的workspaceStorage目录下:
- Linux:
~/.config/Code/User/workspaceStorage/ - Windows:
%APPDATA%\Code\User\workspaceStorage\ - macOS:
~/Library/Application Support/Code/User/workspaceStorage/
该目录下的每个随机命名子文件夹对应一个工作区,子文件夹内的workspace.json文件会记录对应.code-workspace文件的绝对路径——这就是移动工作区文件后状态丢失的核心原因:VSCode无法通过新路径匹配到旧的会话记录。
迁移与恢复方法
如果需要移动.code-workspace文件并保留原有会话状态,可按以下步骤操作:
- 完全关闭VSCode
- 进入
workspaceStorage目录,找到对应工作区的子文件夹(可通过查看各文件夹内workspace.json里的路径来识别) - 打开该文件夹的
workspace.json,将其中的旧工作区文件绝对路径替换为新的路径 - 保存文件后重新启动VSCode,即可恢复之前的编辑器状态、扩展设置等内容
备份建议
要完整备份工作区相关信息,除了备份.code-workspace文件,还需同时备份workspaceStorage目录下对应工作区的子文件夹。为了便于识别,可以给子文件夹重命名(例如和工作区文件名一致),或在workspace.json中添加备注信息。
内容的提问来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

