首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >vscode:在哪里存储会话数据(恢复的打开的文件)?可以使用相对路径吗?

vscode:在哪里存储会话数据(恢复的打开的文件)?可以使用相对路径吗?
EN

Stack Overflow用户
提问于 2019-02-02 15:02:06
回答 1查看 475关注 0票数 2

如果我使用vscode打开一个目录,然后打开一些文件并退出,vscode将在下次启动时重新打开所有文件。

但是有一个问题。似乎vscode没有使用相对路径来存储此信息,并且没有将此信息存储在项目目录中。因此,如果我移动或重命名该目录,然后再次打开该目录,例如code projectNewName/,我之前的会话(打开的文件/打开的编辑器)就会丢失。我不知道这个会话数据存储在哪里,以及是否可以将它配置为存储相对路径,并将会话文件保存在项目目录中,例如,project/.vscodeproject/.vscode/session。如果打开的编辑器会话存储在项目目录中,则无论该目录位于何处以及目录名是什么,它都将被恢复。

EN

回答 1

Stack Overflow用户

发布于 2021-09-27 16:58:49

TL;DR:暂时不支持配置此路径。

VSCode将所有工作区的状态存储在/Code/User/workspaceStorage/下的全局配置文件夹中。查看适用于您的操作系统的this help paragraphsettings.json的路径,然后只需替换该路径的末尾。例如,对于Windows,设置路径为%APPDATA%\Code\User\settings.json,因此状态存储为

代码语言:javascript
代码运行次数:0
运行
复制
%APPDATA%/Code/User/workspaceStorage/

在这个目录中,有许多带有十六进制名称的子目录。请参考my another answer中的python脚本来浏览它。每个文件夹都包含一个workspace.json,其中大部分数据仅引用工作区的路径。在这些目录中也有state.vscdb文件。这些是只有一个表的sqlite数据库:

代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB);

它用作所有状态变量的键|值存储,如:

代码语言:javascript
代码运行次数:0
运行
复制
workbench.panel.output|{"workbench.panel.output":{"collapsed":false,"isHidden":true}} 

就我在VSCode source中看到的,目前仅使用来自环境的全局路径来定位此文件:

代码语言:javascript
代码运行次数:0
运行
复制
this.environmentService.workspaceStorageHome
this.environmentService.globalStorageHome

它解析为

代码语言:javascript
代码运行次数:0
运行
复制
get workspaceStorageHome(): URI { return URI.joinPath(this.appSettingsHome, 'workspaceStorage'); }
get globalStorageHome(): URI { return URI.joinPath(this.appSettingsHome, 'globalStorage'); }

因此,似乎目前还没有从settings.json自定义它的选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54490827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档