便携模式
Visual Studio Code 支持 便携模式。该模式允许 VS Code 创建和维护的所有数据保留在其自身文件夹内,从而使其可以在不同环境间移动。
此模式还提供了一种设置 VS Code 扩展安装位置的方法,这对于防止在 Windows AppData 文件夹中安装扩展的企业环境非常有用。
Windows 的 ZIP 下载版、Linux 的 TAR.GZ 下载版以及 macOS 的常规应用程序下载版均支持便携模式。请参阅 下载页面 以获取适用于您平台的正确 .zip / .tar.gz 文件。
请勿尝试在通过 Windows 用户或系统安装程序 安装的版本上配置便携模式。便携模式仅支持 Windows ZIP (.zip) 压缩包。另请注意,Windows ZIP 压缩包不支持自动更新。
启用便携模式 (Portable mode)
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 无法为第一层使用命名空间沙盒,它将尝试通过随应用程序二进制文件一起提供的辅助二进制文件 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
如果您的应用程序处于 隔离 (quarantine) 状态,便携模式将无法工作(如果您刚下载 VS Code,默认会发生这种情况)。如果便携模式似乎无法工作,请确保移除隔离属性
xattr -dr com.apple.quarantine Visual\ Studio\ Code.app
在 Insiders 版本上,该文件夹应命名为 code-insiders-portable-data。
更新便携版 VS Code
在 Windows 和 Linux 上,您可以通过将 data 文件夹复制到较新版本的 VS Code 来更新 VS Code。
在 macOS 上,自动更新应像往常一样工作,无需额外操作。
迁移至便携模式
您也可以将现有的安装迁移到便携模式。
Windows, Linux
- 下载适用于您平台的 VS Code (或 VS Code Insiders) ZIP 发行版。
- 按照上述方法创建
data文件夹。 - 将用户数据目录
Code复制到data并重命名为user-data- Windows
%APPDATA%\Code - Linux
$HOME/.config/Code
- Windows
- 将扩展目录复制到
data- Windows
%USERPROFILE%\.vscode\extensions - Linux
~/.vscode/extensions
- Windows
例如,以下是 Windows 上的预期结果
|- VSCode-win32-x64-1.84.2
| |- Code.exe (or code executable)
| |- data
| | |- user-data
| | | |- ...
| | |- extensions
| | | |- ...
| |- ...
macOS
- 下载适用于 macOS 的 VS Code (或 VS Code Insiders)。
- 按照上述方法创建
code-portable-data文件夹。 - 将用户数据目录
Code复制到code-portable-data并重命名为user-data$HOME/Library/Application Support/Code
- 将扩展目录复制到
code-portable-data~/.vscode/extensions
TMP 目录
默认情况下,即使在便携模式下,默认的 TMP 目录仍为系统目录,因为那里不会保留任何状态。如果您也希望将 TMP 目录放在便携目录内,可以在 data 文件夹中创建一个空的 tmp 目录。只要存在 tmp 目录,它就会被用于 TMP 数据。