ポータブル モード
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
| | |- ...
| |- ...
これ以降、セッション状態、設定、拡張機能など、すべてのVS Codeデータが data フォルダ内に格納されるようになります。
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
アプリケーションが検疫 (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データに使用されます。