仕事で使っているエディタをSublimeTextからVSCodeに乗り換えて3ヶ月程度が経過した。

特に大きな不満なく使えているのだが、VSCodeのターミナルでGitコマンドを叩く時にコマンドの補完機能が欲しくなってきた。

つまり、

git ch

でTabキーを押した時に

git checkout

まで補完してくれる機能だ。

Windows10のVSCodeターミナルはPowerShellで動作しているので、この機能はPowerShell本体に導入しなくてはならない。

調べたところ、この補完機能を実現してくれるposh-gitというものがあることが分かったので、そのインストール方法を紹介していく。

前提条件

まず、前提条件として以下の3つを満たしていることが必要である。

VSCodeターミナルがPowerShellであること

カスタマイズなどで別のCUIを使っている場合、posh-gitは使えない。

PowerShellのバージョン

PowerShellを管理者権限で開き、以下のコマンドを実行する。

$PSVersionTable.PSVersion

バージョン情報が表示されるので、バージョン2.0以上であることを確認する。

実行ポリシーの確認

以下のコマンドを実行し、RemoteSignedもしくはUnrestrictedが返ればOK。

Get-ExecutionPolicy

もし別の値が返ってきたら、以下のコマンドを実行する。

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser-Confirm

posh-gitのダウンロード

ここまで用意ができたら、公式サイトからposh-gitをダウンロードする。

zipファイルをダウンロードしたら適当なディレクトリに展開しておく。

posh-gitのインストール

展開したディレクトリに、cdコマンドで移動し以下のファイルを実行する。

.\install.ps1

特にエラーなど発生しなければ、これでインストールは完了だ。

ちなみに俺の環境では、Gitのバージョンが古かったためエラーが発生し、Gitの再インストールをする必要があった。

その後もForceオプションを付けてくれというメッセージが出てきたため、以下のコマンドでインストールをおこなった。

.\install.ps1 -Force

確認

VSCodeのターミナルを開き確認しよう。
※すでに開いていた場合は新しく開きなおす。

C:\xxxx\dev\ [dev +5 ~3 -0 !]>

上記のようにブランチ名などの情報がカッコ内に表示されればインストール完了だ。

試しに「git ch」までタイプしてTabを押すと、「git checkout」まで補完されるはずだ。