ポータブルモード
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データに使用されます。