コマンドラインインターフェース (CLI)
Visual Studio Codeには、エディターの起動方法を制御できる強力なコマンドラインインターフェースが組み込まれています。コマンドラインオプション(スイッチ)を通じて、ファイルを開いたり、拡張機能をインストールしたり、表示言語を変更したり、診断情報を出力したりできます。

VS Code内でコマンドラインツールを実行する方法をお探しの場合、統合ターミナルを参照してください。
コマンドラインヘルプ
VS Codeのコマンドラインインターフェースの概要を知るには、ターミナルまたはコマンドプロンプトを開き、code --helpと入力します。バージョン、使用例、およびコマンドラインオプションのリストが表示されます。

コマンドラインからの起動
コマンドラインからVS Codeを起動して、ファイル、フォルダー、またはプロジェクトを素早く開くことができます。通常、VS Codeはフォルダーのコンテキスト内で開きます。これを行うには、開いているターミナルまたはコマンドプロンプトからプロジェクトフォルダーに移動し、code .と入力します。

macOSユーザーは、まずVS Codeの実行可能ファイルをPATH環境変数に追加するために、コマンド(シェルコマンド: パスに 'code' コマンドをインストール)を実行する必要があります。詳細については、macOSセットアップガイドを参照してください。
WindowsおよびLinuxのインストールでは、VS Codeのバイナリの場所をシステムパスに追加する必要があります。そうでない場合は、手動でその場所をPath環境変数(Linuxでは$PATH)に追加できます。例えば、Windowsでは、VS Codeのバイナリのデフォルトの場所はAppData\Local\Programs\Microsoft VS Code\binです。プラットフォーム固有のセットアップ手順を確認するには、セットアップを参照してください。
VS Code Insidersプレビューを使用している場合、Insidersビルドはcode-insidersで起動します。
主要なCLIオプション
コマンドラインからcode経由でVS Codeを起動する際に使用できるオプションの引数を以下に示します。
| 引数 | 説明 |
|---|---|
-h または --help |
使用方法を表示 |
-v または --version |
VS Codeのバージョン(例: 1.22.2)、GitHubコミットID、およびアーキテクチャ(例: x64)を表示します。 |
-n または --new-window |
以前のセッションを復元する代わりに(デフォルト)、VS Codeの新しいセッションを開きます。 |
-r または --reuse-window |
ファイルまたはフォルダーを最後にアクティブだったウィンドウで強制的に開きます。 |
- |
標準入力から読み込み、VS Codeで開きます(例: 'echo Hello World |
-g または --goto |
file:line{:character}と組み合わせて使用すると、指定された行とオプションの文字位置でファイルを開きます。一部のオペレーティングシステムではファイル名に:が許可されているため、この引数が提供されます。 |
-d または --diff <file1> <file2> |
ファイルの差分エディターを開きます。引数として2つのファイルパスが必要です。 |
-m または --merge <path1> <path2> <base> <result> |
ファイルの2つの変更バージョンのパス、両方の変更バージョンの共通の元のファイル、およびマージ結果を保存する出力ファイルを指定して、3方向マージを実行します。 |
-w または --wait |
ファイルが閉じられるまで待機してから、制御を返します。 |
|
VS Codeセッションの表示言語(ロケール)を設定します。(例: en-US または zh-TW) |

ファイルとフォルダーを開く
ファイルを開いたり作成したりしたい場合があります。指定されたファイルが存在しない場合、VS Codeは新しい中間フォルダーとともにファイルを作成します。
code index.html style.css documentation\readme.md
ファイルとフォルダーの両方で、絶対パスまたは相対パスを使用できます。相対パスは、codeを実行するコマンドプロンプトの現在のディレクトリからの相対パスです。
コマンドラインで複数のファイルを指定した場合でも、VS Codeは単一のインスタンスのみを開きます。
コマンドラインで複数のフォルダーを指定した場合、VS Codeは各フォルダーを含むマルチルートワークスペースを作成します。
| 引数 | 説明 |
|---|---|
file |
開くファイルの名前。ファイルが存在しない場合、作成されて編集済みとしてマークされます。各ファイル名をスペースで区切ることにより、複数のファイルを指定できます。 |
file:行[:文字位置] |
-g引数と組み合わせて使用します。指定された行とオプションの文字位置で開くファイルの名前です。 |
folder |
開くフォルダーの名前。複数のフォルダーを指定でき、新しいマルチルートワークスペースが作成されます。 |
|
開かれたファイルやフォルダーが最近開いたリストに追加されないようにします。 |

プロファイルの選択
--profileコマンドラインインターフェースオプションを使用して、特定のプロファイルでVS Codeを起動できます。--profile引数の後にプロファイルの名前を渡し、そのプロファイルを使用してフォルダーまたはワークスペースを開きます。以下のコマンドラインは、「Web Development」プロファイルでweb-sampleフォルダーを開きます。
code ~/projects/web-sample --profile "Web Development"
指定されたプロファイルが存在しない場合、指定された名前の新しい空のプロファイルが作成されます。
拡張機能の操作
コマンドラインからVS Codeの拡張機能をインストールおよび管理できます。
| 引数 | 説明 |
|---|---|
|
拡張機能をインストールまたは更新します。引数として、完全な拡張機能名publisher.extensionまたはVSIXファイルへのパスを指定します。特定のバージョンをインストールするには、@{version}を追加します。例: vscode.csharp@1.2.3。プロンプトを避けるには--force引数を使用します。特定のプロファイルにインストールするには--profile引数を使用します。 |
|
拡張機能をアンインストールします。引数として、完全な拡張機能名publisher.extensionを指定します。特定のプロファイルからアンインストールするには--profile引数を使用します。 |
|
インストールされているすべての拡張機能を無効にします。拡張機能は拡張機能ビューの無効セクションに表示されたままになりますが、決してアクティブ化されることはありません。 |
|
インストールされている拡張機能を一覧表示します。特定のプロファイルの拡張機能を一覧表示するには、--profile引数を使用できます。 |
|
--list-extensionsを使用する際に、インストールされている拡張機能のバージョンを表示します。 |
|
拡張機能の提案されたAPI機能を有効にします。引数として、完全な拡張機能名publisher.extensionを指定します。 |
|
インストールされている拡張機能を更新して終了します。 |

コマンドラインからチャットを開始する
VS Code CLIでchatサブコマンドを使用すると、コマンドラインから直接チャットセッションを開始できます。これにより、現在の作業ディレクトリで、指定したプロンプトを使ってチャットセッションを開くことができます。
例えば、以下のコマンドは現在のディレクトリでチャットを開き、「型指定されていないすべての変数を検索して修正する」と尋ねます。
code chat Find and fix all untyped variables
chatサブコマンドには、以下のコマンドラインオプションがあります。
-m,--mode <mode>: チャットセッションで使用するカスタムエージェント。利用可能なオプション:ask,edit,agent、またはカスタムエージェントの識別子。デフォルトはagentです。-a,--add-file <path>: チャットセッションにファイル群をコンテキストとして追加します。--maximize: チャットセッションビューを最大化します。-r,--reuse-window: チャットセッションに最後にアクティブだったウィンドウを使用します。-n,--new-window: チャットセッション用に空のウィンドウを開きます。
chatサブコマンドは、コマンドの最後に-を渡すことで、標準入力(stdin)からのパイプ入力をサポートしています。例えば
python app.py | code chat why does it fail -
高度なCLIオプション
エラーの再現や高度なセットアップに役立つCLIオプションがいくつかあります。
| 引数 | 説明 |
|---|---|
|
拡張機能のルートパスを設定します。 ポータブルモードでは、 dataフォルダーによって上書きされます。 |
|
ユーザーデータが保持されるディレクトリを指定します。VS Codeの複数の独立したインスタンスを、それぞれ異なる環境、設定、拡張機能で実行するために使用できます。rootとして実行する場合にも便利です。 ポータブルモードでは、 dataフォルダーによって上書きされます。 |
|
プロセス使用状況と診断情報を表示します。 |
|
開発者: 起動パフォーマンスコマンドが有効な状態で開始します。 |
|
GPUハードウェアアクセラレーションを無効にします。 |
|
詳細な出力を表示します(--waitを意味します)。 |
|
起動中にCPUプロファイラーを実行します。 |
|
現在のセッションのログをセキュアなエンドポイントにアップロードします。 |
|
リモート開発環境に接続します。権限は、WSL (wsl+<distro name> <path in WSL>) または SSH (ssh-remote+<remote_server> <path on remote>) のリモート接続を指定します。 |
| マルチルート | |
|
マルチルートワークスペースの最後にアクティブだったウィンドウにフォルダーを追加します。 |
|
マルチルートワークスペースの最後にアクティブだったウィンドウからフォルダーを削除します。 |
VS Codeインスタンスの分離
デフォルトでは、VS Codeインスタンスは以下の方法で環境変数を共有します。
- これが最初のVS Codeインスタンスの場合、環境変数は親プロセスから継承されます。
- これが最初のVS Codeインスタンスではない場合、環境変数はすでに実行中のVS Codeインスタンスから継承されます。
この動作は、異なるプロジェクトやビルド構成で異なる環境変数が必要な場合に問題を引き起こす可能性があります。例えば、Node.jsの異なるバージョンや異なるPATH設定が必要な2つのプロジェクトで作業している場合などです。
個別の環境変数を持つVS Codeインスタンスを実行するには、--user-data-dirオプションを使用して、各インスタンスに固有のユーザーデータディレクトリを指定します。
# First instance with its own environment
code ~/project1 --user-data-dir ~/vscode-data-project1
# Second instance with different environment
code ~/project2 --user-data-dir ~/vscode-data-project2
異なる--user-data-dirを持つ各インスタンスは、独自の以下を保持します。
- 環境変数
- 設定と環境設定
- インストールされている拡張機能
- UIの状態とレイアウト
--user-data-dirを使用する場合、拡張機能は個別に保存されるため、各ユーザーデータディレクトリに拡張機能を再インストールする必要があります。
リモートトンネルの作成
VS Codeは他のリモート環境と統合し、さらに強力で柔軟になります。私たちの目標は、ローカルマシンとリモートマシンの両方を、統一された単一のCLIから管理できる一貫した体験を提供することです。
Visual Studio CodeのRemote - Tunnels拡張機能を使用すると、デスクトップPCやVMなどのリモートマシンにセキュアなトンネル経由で接続できます。トンネリングは、あるネットワークから別のネットワークへデータを安全に送信します。これにより、SSHの要件なしに、どこからでもそのマシンに安全に接続できます。
私たちは、リモートマシン上でトンネルを開始する機能をcode CLIに組み込みました。以下を実行できます。
code tunnel
リモートマシンにトンネルを作成します。このマシンには、WebまたはデスクトップのVS Codeクライアントを通じて接続できます。
他のトンネリングコマンドを確認するには、code tunnel -helpを実行してください。

VS Codeデスクトップ版をインストールできないリモートマシンでCLIを実行する必要がある場合があるため、CLIはVS Codeダウンロードページでスタンドアロンインストールとしても利用可能です。
リモートトンネルの詳細については、リモートトンネルのドキュメントを参照してください。
URLによるVS Codeの起動
プラットフォームのURL処理メカニズムを使用して、プロジェクトやファイルを開くこともできます。以下のURL形式を使用します。
プロジェクトを開く
vscode://file/{full path to project}/
vscode://file/c:/myProject/
ファイルを開く
vscode://file/{full path to file}
vscode://file/c:/myProject/package.json
指定した行と列でファイルを開く
vscode://file/{full path to file}:line:column
vscode://file/c:/myProject/package.json:5:10
設定エディターを開く
vscode://settings/setting.name
vscode://settings/editor.wordWrap
URLを解析してリダイレクトできるブラウザーやファイルエクスプローラーなどのアプリケーションでURLを使用できます。例えば、Windowsでは、vscode:// URLをWindowsエクスプローラーに直接渡すか、コマンドラインでstart vscode://{ファイルの完全パス}として渡すことができます。

VS Code Insidersビルドを使用している場合、URLプレフィックスはvscode-insiders://です。
次のステップ
詳細については、以下をお読みください。
- 統合ターミナル - VS Code内からコマンドラインツールを実行します。
- 基本的な編集 - VS Codeエディターの基本を学びます。
- コードナビゲーション - VS Codeを使用すると、ソースコードを素早く理解し、移動できます。
よくある質問
'code' は内部コマンドまたは外部コマンドとして認識されていません
OSがパス上にVS Codeのバイナリcodeを見つけられません。VS CodeのWindowsおよびLinuxのインストールでは、VS Codeがパスにインストールされているはずです。VS Codeをアンインストールして再インストールしてみてください。codeがまだ見つからない場合は、WindowsおよびLinuxのプラットフォーム固有のセットアップトピックを参照してください。
macOSでは、シェルコマンド: パスに 'code' コマンドをインストールというコマンドを(コマンドパレット ⇧⌘P (Windows, Linux Ctrl+Shift+P)を通じて利用可能)手動で実行する必要があります。詳細については、macOS固有のセットアップトピックを参照してください。
VS Code内からコマンドライン(ターミナル)にアクセスするにはどうすればよいですか?
VS Codeには統合ターミナルがあり、VS Code内からコマンドラインツールを実行できます。
ポータブル版にするために、VS Codeの設定場所を指定できますか?
コマンドラインから直接ではありませんが、VS Codeにはポータブルモードがあり、設定とデータをインストール場所と同じ場所に、例えばUSBドライブに保持することができます。
シェルがVS Codeによって起動されたことを検出するにはどうすればよいですか?
VS Codeが起動すると、ツールのセットアップを支援するために「シェル環境」をソースとして読み込むためにシェルを起動することがあります。これはインタラクティブなログインシェルを起動し、その環境を取得します。シェル設定によっては、これが問題を引き起こす可能性があります。例えば、VS Codeがユーザーが作成したターミナル内の正確な値と$PATHを合わせようとするために、シェルがインタラクティブセッションとして起動されることが予期しない場合があります。
VS Codeがこの初期シェルを起動するたびに、変数VSCODE_RESOLVING_ENVIRONMENTを1に設定します。シェルやユーザースクリプトが、このシェルのコンテキストで実行されているかどうかを知る必要がある場合、VSCODE_RESOLVING_ENVIRONMENTの値をチェックできます。