VS Codeをコマンドラインから起動する場合にはコマンドラインオプションを指定可能だ。その中でも基本的なものを幾つか紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
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コマンドについてまとめておこう。
なお、macOSではコマンドパレットから[シェル コマンド: PATH 内に 'code' コマンドをインストールします]コマンドを実行しておく必要がある。
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)を表示するには」を参照してほしい。
VS Codeには「マルチルートワークスペース」という機能がある。この機能を使うと、別々のディレクトリで管理されている複数のプロジェクトをひとまとめのプロジェクトとして扱いたいときに、VS Code内でそれらを1つの論理的なプロジェクトディレクトリのように見なせる。開発の規模が大きなときには役に立つ機能だ。
-a/--addオプションは、VS Codeで直前にアクティブになっていたウィンドウに、指定したディレクトリを追加して、マルチルートワークスペース化するものだ。既に開いているウィンドウが対象となる点には注意しよう。よって、これはVS Codeの[エクスプローラー]ビューを右クリックして、コンテキストメニューから[ワークスペースにフォルダーを追加]を選択するのと同様な操作をコマンドラインで行うことに相当する。
そのため、このオプションはコマンドプロンプトやシェルから実行するというよりは、統合ターミナルから現在開いているプロジェクトディレクトリに別ディレクトリを追加するといった場合に使うのがよいだろう。以下に例を示す。
ディレクトリを追加しても、マルチルートワークスペースの構成情報を保存する.code-workspaceファイルは作成されていないことには注意しよう(タイトルバーや[エクスプローラー]ビューには「未設定」とあることに注目)。
-g/--gotoオプションは「code --goto <file[:line[:column]]>」形式で指定したファイル(file)の指定した行(line)、カラム(column)に移動する。lineとcolumnは省略可能だ。lineを省略した場合は先頭行に移動する(よって-gオプションを指定する意味はない)。columnを省略した場合はlineで指定した行の行頭にカーソルを移動する。columnを指定する場合にはlineも指定する必要がある(「code -g somefile::5」としても先頭行の5カラム目にカーソルが移動することはない)。
冒頭で述べたが、オプションや引数なしで単に「code」コマンドを実行してVS Codeを起動すると、以前のセッションを復元してVS Codeのウィンドウが開かれる。すぐに以前の続きから作業できるので、便利といえば便利だが、全く新しく(空のセッションを)起動したいこともある。そのようなときにはこのオプションを指定すると、何も開かれていない状態でVS Codeが開かれる。
なお、筆者が試したところでは、Windows/Linuxで既にVS Codeウィンドウが開かれている状態で「code」コマンドを実行すると、新規セッションが開かれ(-nオプション指定と同様な動作)、macOSでは既に開いているウィンドウ(のいずれか)がアクティブになったことも書き添えておこう。
-n/--new-windowオプションに対して、既に開かれているVS Codeウィンドウを再利用するためのオプションが-r/--reuse-windowオプションとなる。例えば、「code . -r」コマンドを実行すると、直前にアクティブだったウィンドウで開かれていたファイルやディレクトリ、ワークスペースが閉じられて、そのウィンドウにカレントディレクトリが開かれる。
-w/--waitオプションは、そのオプションを指定して開いたVS Codeウィンドウやそこで編集していたファイルが閉じられるまで、コマンドプロンプトやシェルに制御を返さないようにするためのものだ。外部ツールと連携しているときには、VS Codeでの作業が終わるまでは、次のステップに移行できないことがある。そうしたときに使用するオプションだ(そのため、ユーザーがコマンドラインレベルで明示的に指定するというよりは、外部ツールとの連携の中で自動的にこのオプション付きでVS Codeのウィンドウが開かれることになるだろう)。
VS Codeでは表示言語を切り替えることができる。これにはlocale.jsonファイルを編集する方法と、コマンドラインからロケールを指定する方法がある。--localeオプションはその後者である。このオプションに続けて、表示言語を指定する。指定可能な値については「Available locales」を参照のこと。ただし、対応する言語パックが必要になる。以下に「--locale en」オプションを指定し、英語を表示言語としてVS Codeを起動している例を示す。
この他にも拡張機能に関連するオプションなどがあるが、それらについては別途紹介する予定だ。
Copyright© Digital Advantage Corp. All Rights Reserved.