Visual Studio Codeには、Git機能が内蔵されています。しかしながら、サブモジュールの操作など込み入った操作はここでは行うことができません。
その場合、コマンドプロンプトを開いてGitコマンドを使うことになりますが、本来Gitコマンドに慣れていないわたしとしては、なるべくGUIツールを使いたい。
ということで、Visual Studio CodeからGit Extensionsを起動できるようにしたら、色々はかどったという話です。
Git Extensions起動用のバッチファイルを作る
Git Extensions起動用のバッチファイルを作ります。引数が受け取れて、GUIプロセスが起動できれば何でもいいかとは思いますが、今回は気軽に使えるということでバッチファイルを選びました。
@"C:\Program Files (x86)\GitExtensions\GitExtensions.exe %*
ファイルをパスが通っているフォルダに保存します。自分はC:\cmdtools
にコマンドライン向けのスクリプトを配置しているのでそこに置きました。
Shell拡張をインストールする
Visual Studio Codeの拡張、Shellをインストールします。
任意のフォルダでGit Extensionsを起動する
ファイルを開いていて、ふとコミットやサブモジュールの操作などを行いたくなったときは、コマンドパレットを開き「>Shell Run Command at Active File Location」またはCtrl+Shift+Rを実行し、コマンドでgite(先ほど作ったバッチファイル)
を選択します。
すると、Git Extensionsが、現在開いているファイルのあるフォルダで起動します。たったこれだけのことですが、たとえばサブモジュール内のファイルを開いている状態でこれをした場合はサブモジュールの操作を行えるため、使い勝手はよいと思います。
注意点
ただし、注意点として、このGit ExtensionsはVisual Studio Codeの子プロセスとして動作します。そのため、Visual Studio Code自体の操作を行ったり、ワークフォルダを切り替えるなどする前に、必ず終了してください。プロセスが落とせなくなり、Visual Studio Codeの再起動が必要になる場合があります。