2017-06-08 1 views
5

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

J'ai créé un simple script chauve-souris pour émuler le comportement git.exe en redirigeant les commandes git dans WSL. Cela fonctionne bien dans CMD mais pas avec VSCode. En outre, WSL est mon terminal par défaut dans 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 %*' 

Toute idée de faire VSCode travailler avec WSL Git?

+0

La chose étrange pour moi est que cette approche fonctionne pour ruby, rubocop, et tous les autres exécutables que j'ai essayé. Je ne comprends pas pourquoi ça ne marche pas pour git. –

Répondre

5

J'ai créé un petit outil pour résoudre ce pour moi-même, et hosted it on GitHub.

La fonctionnalité git de base semble fonctionner, comme la visualisation des modifications et la validation.

Un fichier binaire prêt à l'emploi peut être téléchargé from the Releases page. L'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 vice versa 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 dépôt git, mais avec git WSL Bien sûr, cela retourne un chemin Linux qui doit être traduit pour VSCode sur Windows.

+0

Merci, votre exe fonctionne parfaitement! Je n'avais pas pensé au problème des chemins. Je vais essayer de résoudre ce problème dans mon script et poster la solution ici quand j'ai le temps. –

0

Indiquez le chemin complet pour le bash exec:

git.bat:

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

Cette solution ne change rien du tout. –