web-dev-qa-db-ja.com

VSCode:Git for Windowsの代わりにWSL Gitを使用

複数の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で動作させるためのアイデアはありますか?

18
Marc-Aurel

VS Code 1.34(2019年4月)以降、WSLに開発するためのリモート拡張機能が導入されました: https://code.visualstudio.com/docs/remote/wsl

基本的に、VS CodeのサーバーインスタンスはWSLで開始され、Windows上のクライアントインスタンスからすべてのWSLツール(gitなど)を使用できます。

指摘いただきありがとうございます @ Noornashriq Masnon

3
Marc-Aurel

私はこれを自分で解決するための小さなツールを作成し、 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パスが返されます。

14
A.R.S.

Bash execの絶対パスを指定します。

git.bat

@echo off
c:\windows\sysnative\bash.exe -c "git %*"
1
tooy

あなたができることは、最初にwslpathを試し、それが失敗した場合は通常のgitコマンドを試すことです。理想的ではありませんが、機能します。

参照: Windows 10 17046からVSコード内でWSL gitを使用

0
Victor Perez

私のために働く解決策を見つけました: リンクを参照

ファイル wslgit.exe をダウンロードし、settings.jsonで構成します

{
  "terminal.integrated.Shell.windows": "C:\\WINDOWS\\System32\\bash.exe",
  "git.path": "C:\\Users\\<username>\\wslgit.exe"
}
0