便攜模式
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上,您需要將 data 資料夾放在應用程式本身旁邊。由於該資料夾將與應用程式相鄰,因此您需要為其指定特定名稱,以便 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
在Windows和Linux上,您可以將 data 資料夾複製到更新版本的 VS Code 來更新 VS Code。
在macOS上,自動更新應按原樣工作,無需額外操作。
遷移到便攜模式
您還可以將現有安裝遷移到便攜模式。
Windows, Linux
- 下載適用於您平臺的 VS Code(或 VS Code Insider)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 Insider)。
- 按上述方式建立
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 資料。