gpt4 book ai didi

visual-studio-code - 如何轻松地将 Visual Studio Code 工作区移动到新位置?

转载 作者:行者123 更新时间:2023-12-03 14:33:46 62 4
gpt4 key购买 nike

我认为 VS Code 将所有相关元数据保存在 .vscode 中文件夹和 .code-workspace文件,因为它们包含在工作区文件夹中,所以我认为它都是独立的,移动时不会引起问题。但显然我是严重错误 .

将我的工作区文件夹移动到新位置并更改保存在 .code-workspace 中的文件夹路径后文件相应地我所有打开的编辑器 Pane 和底部面板都消失了。我现在拥有的是一个不错的欢迎窗口。

我知道官方指南是什么recommends ,但这只是移动 .code-worskpace图元文件 - 文件夹仍然保留在原位。

最佳答案

我刚刚遇到了同样的问题。我的工作区根本没有保存到文件中(我只是在每个项目文件夹上使用“使用代码打开”选项),并且“将工作区另存为”选项没有帮助,因为它只是创建了一个带有几个空的 JSON 文件其中的对象(这可能是有道理的,因为我没有真正修改任何工作区设置,我只想保留我打开的编辑器和类似的东西)。

至少在 Windows 上,这些“工作区”设置似乎实际上存储在 的子文件夹中。 %APPDATA%\Code\User\workspaceStorage ,一个 SQLite 数据库文件用于存储实际设置,所以这就是我最终做的:

  • 将您的文件夹移动到磁盘上的新位置(首先关闭所有 VS Code 窗口)
  • 使用 VS Code 打开新文件夹位置(在此阶段您将只获得“欢迎”选项卡,但我们只需要它来为新位置创 build 置存储文件夹)。然后再次关闭VS代码。
  • 开通 %APPDATA%\Code\User\workspaceStorage 在文件资源管理器中,进入每个子文件夹并打开 工作空间.json (在任何旧的文本编辑器中)。至少在我的情况下,它只包含一个 文件夹 属性,这是该设置文件夹所关联的文件夹的路径(但只是更改它根本不会帮助我们,这是我尝试的第一件事)。使用它来找出这些子文件夹中的哪些与 相关。旧 新品 路径。
  • 复制 state.vscdb 来自 新品 ,并删除 state.vscdb.backup 新品 .
  • 开通 state.vscdb 新品 在某种 SQLite 数据库文件编辑器中(我使用了 DB Browser for SQLite 并且它工作正常,但还有 SQLiteStudio 看起来总体上可能更好)。
  • 运行 UPDATE 查询以更新数据库中的所有路径。它们似乎以三种不同的格式/转义级别存储 - 文件夹之间可以有一个正斜杠、两个反斜杠或四个反斜杠。在我的情况下,我想将我的项目文件夹从我的 Windows 用户文件夹的根目录移动到我在 OneDrive 中的常用文档文件夹中,所以我的查询如下所示,因为我只需要更改每个文件夹的中间部分小路。例如,如果您要移动到不同的驱动器,您可能需要做一些更复杂的事情(需要查看数据库中的所有现有路径以了解它们是如何编码的)。
  • UPDATE `ItemTable` SET `value` = REPLACE(REPLACE(REPLACE(`value`, 'User/Project', 'User/OneDrive/Documents/Project'), 'User\\Project', 'User\\OneDrive\\Documents\\Project'), 'User\\\\Project', 'User\\\\OneDrive\\\\Documents\\\\Project')

    保存数据库后,我刚刚在 VS Code 中打开了新文件夹,一切似乎都像在旧位置一样加载了:)

    (另外,以防万一有人好奇,workspaceStorage 中的子文件夹名称似乎是基于路径的某种散列,因为如果您删除与之前在 VS Code 中打开的文件夹相关的子文件夹,然后打开该文件夹再次在代码中,它重新创建相同的子文件夹名称。这意味着仅更新旧的workspace.json 和就地数据库文件将不起作用)

    关于visual-studio-code - 如何轻松地将 Visual Studio Code 工作区移动到新位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52056826/

    62 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com