コマンドライン

VS Code は GUI アプリケーションだが、コマンドラインにおけるインターフェイスも万全に設計されている。本稿では有用なコマンドラインオプションを見ていく。

Attention

Visual Studio Code 利用ノート 冒頭の前提条件に留意すること。

事前条件

端末から code を実行できるように環境変数 PATH を設定しておく。本稿では WSL 環境を想定しているので、VS Code を標準的な構成でインストールをしている場合には次のパスを PATH に含めておくべきだ:

/mnt/c/Program Files/Microsoft VS Code/bin

ヘルプとバージョン

以降、short name option と long name option が存在するオプションについては、後者のみを記す。

起動コマンドを述べる前に、ヘルプとバージョンを知っておかねばならない。標準的な GNU コマンドラインツールのように、オプション --version--help が実装されている。

code --version

VS Code のバージョンを標準出力に出力して終了する。

code --help

VS Code のコマンドラインインターフェイスの呼び出し仕様を標準出力に出力して終了する。

端末から VS Code を起動する

コマンドラインオプションなしで編集対象のパスを指定して起動するのが基本形となる。例をいくつか挙げる:

code

ワークスペースなしで VS Code を新たに起動する。

code FILE1 FILE2 ...

ファイル FILE1, FILE2, … それぞれがエディターで開いた状態で VS Code を起動する。このとき VS Code のメインウィンドウは一つだけだ。

FILE の指定は絶対パスでも相対パスでも構わないが、存在しない FILE を指定すると、そのパスに作成される。

code DIR1 DIR2 ...

ディレクトリー DIR1, DIR2, … がワークスペースである状態で VS Code を起動する。めったに使わない。

次に、よく指定するコマンドラインオプションを併用したコマンド例をいくつか挙げる:

code --reuse PATH ...

現在デスクトップで実行中の VS Code のどれかでファイルまたはディレクトリー PATH を開く(具体的には最終アクティブプロセスが採用される)。

code --wait FILE ...

ファイル FILE を VS Code で開くのはこれまでと同じだが、閉じるまでコマンド呼び出しが終了しないという違いがある。ほかのツールからの連携時に用いられるオプションだ。

編集開始位置を指定する

コマンドラインから VS Code でファイルを開くとき、キャレットの位置を細かく指定できる。それには、コマンドラインオプション --goto を与えた上で、ファイルパスの末尾に行数や桁数をコロンで区切って指定する。

code FILE

ファイルを開くとキャレットは FILE の内容の先頭にある。

code --goto FILE:80

ファイルを開くとキャレットは FILE の 80 行目の先頭にある。

code --goto FILE:80:22

ファイルを開くとキャレットは FILE の 80 行目の 22 桁目にある。

端末で使う以外には、次のような状況があり得る。他のテキストエディターでファイルを編集していたが、VS Code で編集する必要が生じたときに、そのテキストエディターの外部呼び出し機能でこれを使う。元エディターから行数と桁数を得て引き渡す。

拡張機能関連

VS Code の拡張機能を EXTENSIONS ビューからではなく、端末から操作することができる。これらのコマンドを拡張機能バックアップと復元の目的で使うことはおそらくないだろうが、何かのために記しておく。以下、VS Code 公式文書からのパクリだ:

code --extensions-dir <dir>

拡張機能を配置するディレクトリーのパスを指定する。

code --list-extensions

現在の拡張機能をバージョンなしで一覧して終了する。

code --list-extensions --show-versions

現在の拡張機能をバージョン付きで一覧して終了する。

code --disable-extensions

拡張機能すべてを無効にして VS Code を起動する。

code --install-extension (<extension-id> | <extension-vsix-path>)

ID を指定して拡張機能を VS Code にインストールする。拡張機能ファイルを指定することもできる。

code --uninstall-extension (<extension-id> | <extension-vsix-path>)

ID を指定して拡張機能をアンインストールする。

ここで引数 <extension-id> とは、拡張により一意に定まる何らかの文字列だ。例えば拡張 Jupyter Notebook Renderers には文字列 ms-toolsai.jupyter-renderers が対応する。この ID は VS Code の拡張ビューに表示される拡張項目の小歯車アイコンメニューの

  • Copy および

  • Copy Extension ID

コマンドで確認されるものだ。

引数 <extension-vsix-path> は、拡張本体のファイルパスだ。当ノートでは扱わない。

ほかのツールとの連携

VS Code を普通使いのテキストエディターとして指定するのはもちろん、差分ビューワーやマージツールとしても利用する。

Bash

環境変数 VISUALEDITOR に VS Code を指定するといい。おそらくファイル $HOME/.bash_profile に次のように書いておく:

export VISUAL='code --wait'

お好みで --reuse を加えてもいいだろう。

気になるなら環境変数 FCEDITGIT_EDITOR にも同じ値を代入しておく。

Git

Git のインターフェイスとしての VS Code を参照。