連載
» 2018年12月21日 05時00分 公開

Visual Studio Code TIPS:VS Codeのコマンドラインオプション:起動編

VS Codeをコマンドラインから起動する場合にはコマンドラインオプションを指定可能だ。その中でも基本的なものを幾つか紹介する。

[かわさきしんじ,Insider.NET編集部]
「Visual Studio Code TIPS」のインデックス

連載「Visual Studio Code TIPS」

 Visual Studio Code(以下、VS Code)はコマンドラインから「code」コマンドを実行することでも起動できる。このときにはコマンドラインオプションを指定可能だ。本稿では、それらのうちの幾つかを紹介する。VS Codeの拡張機能に関連するコマンドラインオプションもあるが、それらについては別稿で説明する。

オプション 機能
-d/--diff <file1> <file2> <file1>と<file2>を比較
-a/--add <dir> 直前にアクティブとなっていたVS Codeのウィンドウに、指定したディレクトリ<dir>を追加
-g/--goto <file:line[:column]> fileを開き、lineで指定した行、columnで指定したカラムにカーソルを移動
-n/--new-window VS Codeの新しいウィンドウを表示する
-r/--reuse-window 既に開いているVS Codeウィンドウを再利用する(そのウィンドウで開いていたフォルダ/ワークスペースは閉じられる)
-w/--wait このコマンドで開かれたVS Codeのウィンドウが閉じられるまで、コマンドプロンプト/シェルに制御を返さない
--locale <locale> 指定した<locale>を表示言語としてVS Codeを起動
--user-data-dir <dir> ユーザーデータを保存するディレクトリ<dir>を指定
-v/--version VS Codeのバージョンを表示
-h/--help ヘルプを表示
VS Codeの主要なコマンドラインオプション

 以下では幾つかのコマンドラインについて、もう少し詳しく説明する。ただし、その前に簡単にcodeコマンドについてまとめておこう。

  • カレントディレクトリをVS Codeで開く:「code .」コマンドを実行
  • 指定したファイルをVS Codeで開く:「code <filename>」コマンドを実行
  • 以前に開いていたセッションを復元してVS Codeを起動する:「code」コマンドを実行

 なお、macOSではコマンドパレットから[シェル コマンド: PATH 内に 'code' コマンドをインストールします]コマンドを実行しておく必要がある。

[シェル コマンド: PATH 内に 'code' コマンドをインストールします]コマンド [シェル コマンド: PATH 内に 'code' コマンドをインストールします]コマンド

-d/--diff:ファイルの差分を表示

 VS Codeには指定した2つのファイルの差分を表示する機能がある。-d/--diffオプションはこれをコマンドラインから利用するためのものだ。オプションに続いて、ファイルを2つ指定して、VS Codeを起動すると次のようにファイルの差分表示が行われる。以下は「code -d foo.cs bar.cs」コマンドをコマンドラインで実行したところだ。

差分の表示 差分の表示

 VS Codeのウィンドウが既に開かれている場合には、それらのうちのいずれかに差分が表示される。VS Codeのウィンドウがない場合には、新たにウィンドウが開かれ、そこに差分が表示される。既にウィンドウがある場合、(恐らくは)VS Codeをコマンドラインから実行しようとしたときのカレントディレクトリがVS Codeで開かれていれば、そのウィンドウが使われる。そうでなければ、直前にアクティブだったウィンドウが使用される。

 VS Code内でファイルの差分表示を行う方法については「VS Codeでファイルを比較し、差分(diff)を表示するには」を参照してほしい。

-a/--add:ワークスペースにディレクトリを追加

 VS Codeには「マルチルートワークスペース」という機能がある。この機能を使うと、別々のディレクトリで管理されている複数のプロジェクトをひとまとめのプロジェクトとして扱いたいときに、VS Code内でそれらを1つの論理的なプロジェクトディレクトリのように見なせる。開発の規模が大きなときには役に立つ機能だ。

 -a/--addオプションは、VS Codeで直前にアクティブになっていたウィンドウに、指定したディレクトリを追加して、マルチルートワークスペース化するものだ。既に開いているウィンドウが対象となる点には注意しよう。よって、これはVS Codeの[エクスプローラー]ビューを右クリックして、コンテキストメニューから[ワークスペースにフォルダーを追加]を選択するのと同様な操作をコマンドラインで行うことに相当する。

GUIを利用して、ワークスペースにディレクトリを追加しようとしているところ GUIを利用して、ワークスペースにディレクトリを追加しようとしているところ

 そのため、このオプションはコマンドプロンプトやシェルから実行するというよりは、統合ターミナルから現在開いているプロジェクトディレクトリに別ディレクトリを追加するといった場合に使うのがよいだろう。以下に例を示す。

統合ターミナルを使って、workspace2ディレクトリにworkspace1ディレクトリを追加してマルチルートワークスペースにしているところ 統合ターミナルを使って、workspace2ディレクトリにworkspace1ディレクトリを追加してマルチルートワークスペースにしているところ

 ディレクトリを追加しても、マルチルートワークスペースの構成情報を保存する.code-workspaceファイルは作成されていないことには注意しよう(タイトルバーや[エクスプローラー]ビューには「未設定」とあることに注目)。

-g/--goto:指定したファイルの指定した行/カラムに移動

 -g/--gotoオプションは「code --goto <file[:line[:column]]>」形式で指定したファイル(file)の指定した行(line)、カラム(column)に移動する。lineとcolumnは省略可能だ。lineを省略した場合は先頭行に移動する(よって-gオプションを指定する意味はない)。columnを省略した場合はlineで指定した行の行頭にカーソルを移動する。columnを指定する場合にはlineも指定する必要がある(「code -g somefile::5」としても先頭行の5カラム目にカーソルが移動することはない)。

-n/--new-window:VS Codeの新しいウィンドウを表示

 冒頭で述べたが、オプションや引数なしで単に「code」コマンドを実行してVS Codeを起動すると、以前のセッションを復元してVS Codeのウィンドウが開かれる。すぐに以前の続きから作業できるので、便利といえば便利だが、全く新しく(空のセッションを)起動したいこともある。そのようなときにはこのオプションを指定すると、何も開かれていない状態でVS Codeが開かれる。

 なお、筆者が試したところでは、Windows/Linuxで既にVS Codeウィンドウが開かれている状態で「code」コマンドを実行すると、新規セッションが開かれ(-nオプション指定と同様な動作)、macOSでは既に開いているウィンドウ(のいずれか)がアクティブになったことも書き添えておこう。

-r/--reuse-window:既に開いているウィンドウを再利用

 -n/--new-windowオプションに対して、既に開かれているVS Codeウィンドウを再利用するためのオプションが-r/--reuse-windowオプションとなる。例えば、「code . -r」コマンドを実行すると、直前にアクティブだったウィンドウで開かれていたファイルやディレクトリ、ワークスペースが閉じられて、そのウィンドウにカレントディレクトリが開かれる。

-w/--wait:VS Codeウィンドウ(ファイル)が閉じられるまで待機

 -w/--waitオプションは、そのオプションを指定して開いたVS Codeウィンドウやそこで編集していたファイルが閉じられるまで、コマンドプロンプトやシェルに制御を返さないようにするためのものだ。外部ツールと連携しているときには、VS Codeでの作業が終わるまでは、次のステップに移行できないことがある。そうしたときに使用するオプションだ(そのため、ユーザーがコマンドラインレベルで明示的に指定するというよりは、外部ツールとの連携の中で自動的にこのオプション付きでVS Codeのウィンドウが開かれることになるだろう)。

--locale:表示言語を指定

 VS Codeでは表示言語を切り替えることができる。これにはlocale.jsonファイルを編集する方法と、コマンドラインからロケールを指定する方法がある。--localeオプションはその後者である。このオプションに続けて、表示言語を指定する。指定可能な値については「Available locales」を参照のこと。ただし、対応する言語パックが必要になる。以下に「--locale en」オプションを指定し、英語を表示言語としてVS Codeを起動している例を示す。

表示言語を英語にしてVS Codeを起動したところ 表示言語を英語にしてVS Codeを起動したところ

 この他にも拡張機能に関連するオプションなどがあるが、それらについては別途紹介する予定だ。

「Visual Studio Code TIPS」のインデックス

Visual Studio Code TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。