VSCode: используйте WSL Git вместо Git для Windows

Я хотел бы использовать WSL (Bash на Windows) Git с VSCode вместо Git для Windows, чтобы избежать нескольких установок Git.

Я создал простой скрипт bat для эмуляции git.exe comportment путем перенаправления команд git в WSL. Он хорошо работает в CMD, но не с VSCode. Кроме того, WSL-это мой терминал по умолчанию в VSCode.

VSCode настройки.в JSON:

{
    "git.path": "D:toolsgit.bat",
    "terminal.integrated.shell.windows": "C:WindowsSysnativebash.exe"
}

и git.летучая мышь!--9-->:

@echo off
bash -c 'git %*'

любая идея сделать VSCode работа с WSL Git ?

4 ответов


Я создал небольшой инструмент, чтобы решить эту проблему для себя, и разместил его на GitHub.

базовая функциональность git, похоже, работает, например, просмотр изменений и фиксация.

готовый к использованию двоичный файл может быть загружен со страницы релизов.

одна из проблем заключается в том, что входные пути должны быть переведены из представления Windows (C:\Foo\Bar) к путям Linux в WSL (/mnt/c/Foo/Bar) и обратно для путей на выходе мерзавец.

например, плагин Git в VSCode использует команду

git rev-parse --show-toplevel

чтобы найти корневой каталог репозитория git, но с WSL git это, конечно, возвращает путь Linux, который должен быть переведен для VSCode в Windows.


Я нашел решение, которое работает для меня : ссылка

Скачать файл wslgit.exe и настройте его в настройки.в JSON

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

укажите полный путь для bash exec:

git.летучая мышь!--5--> :

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

что вы можете сделать, это сначала попробовать wslpath и если это не удается, попробуйте нормальный