ポータブルモード
Visual Studio Code はポータブルモードをサポートしています。このモードでは、VS 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 を更新する
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 データに使用されます。