Visual Studio Code に WSL の Ubuntu の Git を設定する

いつからだったか、Visual Studio Code を起動すると、勝手に「Git を探しています」みたいになって、「[警告] Git が見つかりません。Git をインストールするか ‘git.path’ 設定で…」のようなメッセージが表示されるようになりました。

そのまま使っていたのですが、気になるので調べてみました。

調査

方針として、Windows の Git はあまりインストールしたくありませんでした。

Git for Windows は、それをインストールすると、Linux のコマンドが使えて便利だったのですが、せっかく WSL の Ubuntu が使えるので、そちらの標準で使える Git を使いたかったのです。

次のページを参考にしました。

Windows 側から Ubuntu 側のコマンドを呼び出すためにバッチファイルを作成するようです。 Visual Studio Code からはこのバッチファイルを呼び出すことになるようです。

@echo off
bash -c 'git %*'

上のバッチファイルを任意のフォルダーに保存しました。

設定

警告にあったように、 “git.path” を設定します。 Visual Studio Code のメニューから、[ファイル]-[基本設定 (P)]-[設定 (S)] を選択します。 ユーザー設定に次の内容を追加します。 実際のパスは上で作成したバッチファイルのパスに合わせます。

    "git.path": "C:\\path\\to\\git.bat"

Visual Studio Code を起動し直すと、警告が表示されなくなりました。

まだ、使い込んでないのですが、実際に Git が使えるかどうか、もしかしたら、参考にしたページにあるように、 “terminal.integrated.shell.windows” の内容も追加する必要があるかもしれません。

    "terminal.integrated.shell.windows": "C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\ubuntu.exe"

終わり

Windows で WSL の Git を使う場合に注意があるようで、Windows 側のファイルの権限を Ubuntu 側から見ると、すべて 777 になっているようです。 だから、Git の設定で、権限の変更を検出対象外(core.filemode = false)にしておく必要がありそうです。 権限の変更が必要な場合は Ubuntu 側で Clone しておいたものを別途用意しておいて、そちらから変更することになりそうです。

素直に Git for Windows を使っておいた方がシンプルかな?

macOS のときは Atom エディターを使っていたのですが、Windows なので、Visual Studio Code を使うことにしました。