web-dev-qa-db-fra.com

VSCode: utiliser WSL Git au lieu de Git pour Windows

Je voudrais utiliser WSL (Bash sur Windows) Git avec VSCode au lieu de Git pour Windows pour éviter plusieurs installations de Git.

J'ai créé un script de batte simple pour émuler le comportement git.exe en redirigeant les commandes git dans WSL. Cela fonctionne bien dans CMD mais pas avec VSCode. De plus, WSL est mon terminal par défaut en VSCode.

VSCode settings.json :

{
    "git.path": "D:\\tools\\git.bat",
    "terminal.integrated.Shell.windows": "C:\\Windows\\Sysnative\\bash.exe"
}

et git.bat :

@echo off
bash -c 'git %*'

Une idée pour que VSCode fonctionne avec WSL Git?

11
Marc-Aurel

J'ai créé un petit outil pour résoudre ce problème moi-même et je l'ai hébergé sur GitHub .

Les fonctionnalités de base de git semblent fonctionner, comme l'affichage des modifications et la validation.

Un fichier binaire prêt à l'emploi peut être téléchargé à partir de la page Communiqués .

Un des problèmes est que les chemins d’entrée doivent être traduits de la représentation Windows (C:\Foo\Bar) vers les chemins Linux dans WSL (/mnt/c/Foo/Bar), et inversement pour les chemins dans la sortie de git.

Par exemple, le plugin Git dans VSCode utilise la commande 

git rev-parse --show-toplevel

pour trouver le répertoire racine du référentiel git, mais avec WSL, cela renvoie bien sûr un chemin Linux qui doit être traduit pour VSCode sous Windows.

12
A.R.S.

Ce que vous pouvez faire, c'est d'abord essayer wslpath et si cela échoue, essayez une commande git normale. Ce n'est pas idéal mais ça marche.

Voir: Utiliser WSL git dans VS Code à partir de Windows 10 17046

0
Victor Perez

Indiquez le chemin complet de l'exécutif bash:

git.bat :

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

J'ai trouvé une solution qui fonctionne pour moi: voir lien

Téléchargez le fichier wslgit.exe et configurez-le dans settings.json

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