VS Code存储打开文件列表的位置?

问题描述 投票:18回答:1

我正在尝试在工作和家中同步VS Code实例,包括打开文件列表。我知道有同步设置的扩展,但它们不包括Open Files AFAIK。我不希望在运行实例下进行实时同步,但如果我重新启动两台机器并在它们上启动Code,我希望它们完全相同。

目前,我在OneDrive上有一个便携式安装代码,我也尝试将AppData \ Roaming \ Code移动到OneDrive,用这个副本的符号链接替换实际目录。

但是,当我在家里打开编辑器时,它有自己的一组打开文件。

我尝试使用ProcMon来了解它的来源,我试着稍微阅读一下。似乎要求可能更容易:-)

顺便说一句,我在我项目的Code git文件夹中打开。此文件夹位于两台PC上的相同路径中。

visual-studio-code
1个回答
12
投票

我很确定你是对的AppData\Roaming\Code是有问题的地方。特别:

  • AppData\Roaming\Code\storage.json和那个windowsState部分。
  • AppData\Roaming\Code\Backups\workspaces.json

在退出代码(文件>退出)之前,这些文件(或至少storage.json)不会更新。如果您在工作机器上打开代码并且在到达家用机器时没有看到更改,那么这可能就是您没有看到预期的原因。

Code / Atom还在sqlite3数据库中存储状态信息,并在那里存储了大量状态信息:

  • AppData\Roaming\Code\Local Storage\file__0.localstorage

使用SQLite浏览器工具(如http://sqlitebrowser.org/)将其打开。您将在表ItemTable中看到许多熟悉的路径引用。列value显示为“BLOB”(二进制),但您可以单击任何行并将数据导出到文件。这样做并在文本编辑器(例如Code!:)中打开它),你会发现它只是一个JSON字符串。

(由于VS Code基于GitHub的Atom编辑器,使用“Atom”而不是“Code”搜索问题通常会挖掘您可能无法找到的信息。)

© www.soinside.com 2019 - 2024. All rights reserved.