コマンドライン¶
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 の拡張ビューに表示される拡張項目の小歯車アイコンメニューの
および
コマンドで確認されるものだ。
引数 <extension-vsix-path>
は、拡張本体のファイルパスだ。当ノートでは扱わない。
ほかのツールとの連携¶
VS Code を普通使いのテキストエディターとして指定するのはもちろん、差分ビューワーやマージツールとしても利用する。
Bash¶
環境変数 VISUAL
や EDITOR
に VS Code を指定するといい。おそらくファイル
$HOME/.bash_profile
に次のように書いておく:
export VISUAL='code --wait'
お好みで --reuse
を加えてもいいだろう。
気になるなら環境変数 FCEDIT
や GIT_EDITOR
にも同じ値を代入しておく。