尝试以扩展 VS Code 中的代理模式!

便携模式

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 解压版本中。

Linux

Linux 上,除了创建data文件夹外,您还需要设置正确的Electron 沙盒权限。

Chromium 在 Linux 上具有多层沙盒模型。如果 Chromium 无法将命名空间沙盒用于第 1 层,它将尝试通过与应用程序二进制文件一起提供的辅助二进制文件chrome-sandbox使用setuid沙盒

运行以下命令以设置setuid助手的正确权限

sudo chown root <path-to-vscode>/chrome-sandbox
sudo chmod 4755 <path-to-vscode>/chrome-sandbox

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
注意

在 Insiders 版本中,该文件夹应命名为code-insiders-portable-data

更新便携版 VS Code

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

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

迁移到便携模式

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

Windows, Linux

  1. 下载适用于您平台的VS Code(或VS Code Insiders)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 Insiders)。
  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 数据。