複数のGitインストールを回避するために、WindowsのGitではなく、VSCodeでWSL(Bash on Windows)Gitを使用したいと思います。
WSLでgitコマンドをリダイレクトすることにより、git.exe
のコンポーメントをエミュレートする簡単なbatスクリプトを作成しました。 CMDではうまく機能しますが、VSCodeでは機能しません。また、WSSLはVSCodeのデフォルトのターミナルです。
VSCode settings.json:
{
"git.path": "D:\\tools\\git.bat",
"terminal.integrated.Shell.windows": "C:\\Windows\\Sysnative\\bash.exe"
}
およびgit.bat:
@echo off
bash -c 'git %*'
VSCodeをWSL Gitで動作させるためのアイデアはありますか?
VS Code 1.34(2019年4月)以降、WSLに開発するためのリモート拡張機能が導入されました: https://code.visualstudio.com/docs/remote/wsl 。
基本的に、VS CodeのサーバーインスタンスはWSLで開始され、Windows上のクライアントインスタンスからすべてのWSLツール(gitなど)を使用できます。
指摘いただきありがとうございます @ Noornashriq Masnon !
私はこれを自分で解決するための小さなツールを作成し、 GitHubでホスト をホストしました。
変更の表示やコミットなど、基本的なgit機能が動作しているようです。
すぐに使用できるバイナリをダウンロードできます リリースページから 。
問題の1つは、入力パスをWindows表現(C:\Foo\Bar
)からWSLのLinuxパス(/mnt/c/Foo/Bar
)に変換し、gitの出力のパスに戻す必要があることです。
たとえば、VSCodeのGitプラグインは次のコマンドを使用します
git rev-parse --show-toplevel
gitリポジトリのルートディレクトリを検索しますが、WSL gitを使用すると、WindowsでVSCodeに変換する必要があるLinuxパスが返されます。
Bash execの絶対パスを指定します。
git.bat:
@echo off
c:\windows\sysnative\bash.exe -c "git %*"
あなたができることは、最初にwslpath
を試し、それが失敗した場合は通常のgit
コマンドを試すことです。理想的ではありませんが、機能します。
私のために働く解決策を見つけました: リンクを参照
ファイル wslgit.exe をダウンロードし、settings.jsonで構成します
{
"terminal.integrated.Shell.windows": "C:\\WINDOWS\\System32\\bash.exe",
"git.path": "C:\\Users\\<username>\\wslgit.exe"
}