现已推出!阅读 10 月份的新功能和修复。

便携模式

Visual Studio Code 支持 便携模式。此模式允许 VS Code 创建和维护的所有数据都驻留在其附近,以便可以在不同环境之间移动。

此模式还提供了一种设置 VS Code 扩展安装文件夹位置的方法,这对于不允许在 Windows AppData 文件夹中安装扩展的企业环境非常有用。

便携模式适用于 Windows 的 ZIP 下载和 Linux 的 TAR.GZ 下载,以及 macOS 的常规应用程序下载。请参阅 下载页面 找到适合您的平台的 .zip / .tar.gz 文件。

注意: 不要尝试在从 Windows 用户或系统安装程序 安装的安装程序上配置便携模式。便携模式仅适用于 Windows ZIP (.zip) 存档。还要注意,Windows ZIP 存档不支持自动更新。

启用便携模式

Windows、Linux

解压缩 VS Code 下载后,在 VS Code 的文件夹中创建一个名为 data 的文件夹

|- VSCode-win32-x64-1.84.2
|   |- Code.exe (or code executable)
|   |- data
|   |- bin
|   |  |- code
|   |  |- ...
|   |- ...

从那时起,data 文件夹将用于保存所有 VS Code 数据,包括会话状态、首选项、扩展等。

注意: data 文件夹将覆盖 命令行 选项中的 --user-data-dir--extensions-dir

data 文件夹可以移动到其他 VS Code 安装程序。这对于更新便携版 VS Code 版本非常有用,在这种情况下,您可以将 data 文件夹移动到 VS Code 的较新解压缩版本。

macOS

macOS 上,您需要将数据文件夹放置在应用程序本身的同级目录中。由于文件夹将与应用程序并排放置,因此您需要专门命名它,以便 VS Code 可以找到它。默认文件夹名称为 code-portable-data

|- Visual Studio Code.app
|- code-portable-data

如果您只是下载了 VS Code,则便携模式在默认情况下不会在 隔离 的应用程序中运行。确保您删除隔离属性,如果便携模式似乎不起作用。

xattr -dr com.apple.quarantine Visual\ Studio\ Code.app

注意: 在 Insider 版本中,文件夹应命名为 code-insiders-portable-data

更新便携版 VS Code

WindowsLinux 上,您可以通过将 data 文件夹复制到 VS Code 的更新版本来更新 VS Code。

macOS 上,自动更新应该像往常一样工作,不需要额外的工作。

迁移到便携模式

您也可以将现有安装程序迁移到便携模式。

Windows、Linux

  1. 下载适用于您平台的 VS Code(或 VS Code Insider)ZIP 分发版。
  2. 如上所述创建 data 文件夹。
  3. 将用户数据目录 Code 复制到 data 并将其重命名为 user-data
    • Windows %APPDATA%\Code
    • Linux $HOME/.config/Code
  4. 将扩展目录复制到 data
    • Windows %USERPROFILE%\.vscode\extensions
    • Linux ~/.vscode/extensions

例如,这是 Windows 上的预期结果

|- VSCode-win32-x64-1.84.2
|   |- Code.exe (or code executable)
|   |- data
|   |   |- user-data
|   |   |   |- ...
|   |   |- extensions
|   |   |   |- ...
|   |- ...

macOS

  1. 下载适用于 macOS 的 VS Code(或 VS Code Insider)。
  2. 如上所述创建 code-portable-data 文件夹。
  3. 将用户数据目录 Code 复制到 code-portable-data 并将其重命名为 user-data
    • $HOME/Library/Application Support/Code
  4. 将扩展目录复制到 code-portable-data
    • ~/.vscode/extensions

TMP 目录

默认情况下,即使在便携模式下,默认 TMP 目录仍然是系统目录,因为没有状态保存在那里。如果您还想将 TMP 目录放在便携式目录中,则可以在 data 文件夹中创建一个名为 tmp 的空目录。只要存在 tmp 目录,它将用于 TMP 数据。